2 programy do poprawki :)

0

Witam.
Napisałem 2 programy lecz mam z nimi małe problemy pierwszy uruchamia się ale funkcja switch zawsze wybiera case default.
Drugi wyrzuca podczas kompilacji bład expected primary-expression before 'float' . Będe wdzięczny za odnalezienie błędów.
Pozdrawiam.

Program 1:

 
#include <cstdlib>
#include <iostream>
#include <stdio.h>


using namespace std;
    
    float dodaj(float x, float y);
    float odejmij(float x, float y);
    float pomnoz (float x, float y);
    float podziel (float x, float y);

float dodaj(float x, float y)
{
      return x+y;
}

float odejmij(float x, float y)
{
      return x-y;
}

float pomnoz(float x, float y)
{
      return x*y;
}

float podziel(float x, float y)
{
      return x/y;
}

int main(int argc, char *argv[])
{
    int n;
    float liczba1, liczba2, wynik;
    printf("Podaj wartosc pierwszej liczby: ");
    scanf("%f", &liczba1);
    printf("Podaj wartosc drugiej liczby: ");
    scanf("%f", &liczba2);
    
    printf("Wybierz co chcesz zrobic z wprowadzonymi liczbami:\n1.Dodac\n2.Odjac\n3.Pomnozyc\n4.Podzielic\n");
    again:
    scanf("%i", n);
    
	switch(n)
    {
    
    case 1:
         {
         wynik = dodaj(liczba1, liczba2);
         printf("Suma = %f", wynik);
         break;
         }
    case 2:
         {
         wynik = odejmij(liczba1, liczba2);
         printf("Roznica = %f", wynik);
         break;
         }
    case 3:
         {
         wynik = pomnoz(liczba1, liczba2);
         printf("Iloczyn = %f", wynik);
         break;
         }
    case 4:
         {
         wynik = podziel(liczba1, liczba2);
         printf("Iloraz = %f", wynik);
         break;
         }
    default:
         {
          printf("Wybrano nieistniejaca opcje wybierz ponownie:\n");
          goto again;  
         }
         
	}



    system("PAUSE");
    return EXIT_SUCCESS;
}


Program 2:

#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <cmath>
using namespace std;

float w(float x, float y, float z);

float w(float x, float y, float z)
{
	return x*pow(y,z-1);
}

int main(int argc, char *argv[])
{
	float a1, q, k;
	printf("Wprowadz a1, q i numer wyrazu który chcesz obliczyć z ciagu geometrycznego");
	scanf("%f%f%f", &a1, &q, &k);
	float ak;
	ak=w(float a1, float q, float k);
	printf("Wybrany wyraz ciagu geometrycznego ma wartosc: %f", ak)
	system("pause");
	return 0;
}



 
0

Polecam zapoznać się z budową switch
http://4programmers.net/C/Switch

0

Usunąłem zbędne nawiasy ale jakoś nie pomaga.

0

A pododawałeś break?

0

Nie rozumiem break po każdym case z wyjątkiem dafault znajdującego się na końcu jest przecież.

0

Ok spoko. To w takim razie co tu jest nie tak bo siedzę i naprawdę nie widzę :P

0

Napisałem wyżej w komentarzach.

0

Dzięki wielkie już wszytko jest ok.

1 użytkowników online, w tym zalogowanych: 0, gości: 1