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
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, botów: 0