Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Kalkulacka v C

Cauves.Mam mensi problem s Kalkulackou u Dev C++ v Projektu C delam tedka s Cckem a ne s C++ a nevim proc kdyz dam menu 2 3 4 tak se mi nabidne menu 1 a nevim proc to vynechava printf("Zadejte prvni cislo:"); nechapu proc

Kod je

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a;
int b;
int c;
int d;
int e;
int f;
printf("Vitejte v Programu Kalkulacka zde si muzete vypocitat co hrdlo raci. \nMuzete si vypocitat co potrebujete pomoci techto znaminek + - * /\na to pomoci menu.");
printf("Menu je nasledujici \n");
printf("Pro + zadejte 1 \n");
printf("Pro - zadejte 2 \n");
printf("Pro * zadejte 3 \n");
printf("Pro / zadejte 4 \n");
printf("Zvolte si menu:");
scanf("%d",&a);
if(a==1) 
printf("Zadejte vase prvni cislo:");
scanf("%d",&b);
printf("Zadejte vase druhe cislo:");
scanf("%d",&c);
printf("Zadejte vase treti cislo:");
scanf("%d",&d);
printf("Vase menu bylo zvoleno na Scitani=+.\nA soucet techto cisel je: %d\n",b+c+d); 
  system("PAUSE"); 
  return 0;
if(a==2) 
printf("Zadejte vase prvni cislo:");
scanf("%d",&b);
printf("Zadejte vase druhe cislo:");
scanf("%d",&c);
printf("Zadejte vase treti cislo:");
scanf("%d",&d);
printf("Zadejte vase ctvrte cislo:");
scanf("%d",&e);
printf("Zadejte vase pate cislo:");
scanf("%d",&f);
printf("Vase menu bylo zvoleno na Odcitani=-.\nA Vase cislo ktere bylo odecteno od prvniho je: %d\n",b-c-d-e-f); 
  system("PAUSE");
  return 0;
if(a==3) 
printf("Zadejte vase prvni cislo:");
scanf("%d",&b);
printf("Zadejte vase druhe cislo:");
scanf("%d",&c);
printf("Zadejte vase treti cislo:");
scanf("%d",&d);
printf("Zadejte vase ctvrte cislo:");
scanf("%d",&e);
printf("Vase menu bylo zvoleno na Nasobeni=*.\nBylo zjisteno ze v nasobeni vzniklo cislo: %d\n",b*c*d*e); 
  system("PAUSE");
  return 0;
if(a==4) 
printf("Zadejte vase prvni cislo:");
scanf("%d",&b);
printf("Zadejte vase druhe cislo:");
scanf("%d",&c);
printf("Vase menu bylo zvoleno na Kraceni=/.\nBylo zjisteno pri kraceni ze cislo je: %d\n",b/c);
  system("PAUSE");
  return 0; 
}

Změna předmětu, původně: Kalkulacka (host) (los)

Předmět Autor Datum
Protože ti chybí úplné základy. http://docs.linux.cz/programming/c/c_saloun/kap06. htm
oval 12.12.2009 22:09
oval
Ak za if nemáš blok kódu v zložených zátvorkách, tak sa vzťahuje len na nasledujúci príkaz. Uzavri t…
los 12.12.2009 22:10
los
ako poznamenal los, chyba ti blok pre prikazy IF - to je hlavny dovod nefunkcnosti. Co ti ale este j…
wam_Spider007 12.12.2009 23:24
wam_Spider007
Muzes to upravit cele? Nevim takhle co se tim mylsi hlavicka apod. poslední
glararan 13.12.2009 21:41
glararan

ako poznamenal los, chyba ti blok pre prikazy IF - to je hlavny dovod nefunkcnosti.
Co ti ale este je nutne vytknut, ze pouzivas 4x rovnaky blok prikazov. Nie je lepsie po vybere znamienka hned pytat cisla nutne pre vypocet a potom uz podla vybraneho znamienka urobit vypocet?
Dalsia vec, nemusis kombinovat stale printf so scanf. Scanf dokaze pokial si este dobre spominam aj vypisovat.

scanf("Zadaj cislo x: %d", &x)

Taktiez mozes tie 4 podmienky nahradit CASEom. System pause a return 0 tiez staci dat len na koniec programu pokial vytvoris tie bloky pre IF alebo ich nahradis caseom.

Zpět do poradny Odpovědět na původní otázku Nahoru