Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam to moj pierwszy post :)
Mam nastepujacy problem:
Przy probie skompilowania programu wybija blad:
srednia.cpp:16: error: switch quantity not an integer
Oto zrodlo programu:
#include <iostream> #include <stdio.h> #include <time.h> using namespace std; int main() { char sciezka[30], ocena[20], celujacy[20], bardzodobry[20], dobry[20], dostateczny[20], dopuszczajacy[20], niedostateczny[20]; double kla, krt, akt, odp, pd, ilekla, ilekrt, ileakt, ileodp, ilepd, srednia, tn, menu, ks, pol, mat, his, wos, muz, ang, inf, bio, ch, geo, wf, fiz; start: system("clear"); cout << "Co wybierasz?n"; cout << "1-Srednia z Matmyn"; cout << "2-Srednia z Ocenn"; cout << "3-Wyjscien"; cin >> menu; switch(menu) { case 1: cout << "Witaj w programie do obliczenia sredniej z matematyki!n"; cout << "Podaj sume ocen z klasowekn"; cin >> kla; cout << "Ile masz ocen z klasowek?n"; cin >> ilekla; cout << "Podaj sume ocen z kartkowekn"; cin >> krt; cout << "Ile masz ocen z kartkowekn"; cin >> ilekrt; cout << "Podaj sume ocen z aktywnoscin"; cin >> akt; cout << "Ile masz ocen z aktywnosci?n"; cin >> ileakt; cout << "Podaj sume ocen z odpowiedzin"; cin >> odp; cout << "Ile masz ocen z odpowiedzi?n"; cin >> ileodp; cout << "Podaj sume ocen z prac domowych i dodatkowychn"; cin >> pd; cout << "Ile masz ocen z prac domowych i dodatkowych?n"; cin >> ilepd; srednia=(kla/ilekla*0.40)+(krt/ilekrt*0.20)+(akt/ileakt*0.15)+(odp/ileodp*0.15)+(pd/ilepd*0.10); cout << "Twoja srednia wynosi:" << srednia << "n" ; if(srednia > 5.5 && srednia < 6) { cout << "CELUJACY!n"; } if(srednia > 4.5 && srednia < 5.51) { cout << "BARDZO DOBRYn"; } if(srednia > 3.5 && srednia < 4.51) { cout << "DOBRYn"; } if(srednia > 2.5 && srednia < 3.51) { cout << "DOSTATECZNYn"; } if(srednia > 1.5 && srednia < 2.51) { cout << "DOPUSZCZAJACYn"; } if(srednia < 1.51) { cout << "NIEDOSTATECZNYn"; } sleep(5); break; case 2: cout << "Podaj ocene z polskiegon"; cin >> pol; cout << "Podaj ocene z matmyn"; cin >> mat; cout << "Podaj ocene z historiin"; cin >> his; cout << "Podaj ocene z WOSun"; cin >> wos; cout << "Podaj ocene z muzykin"; cin >> muz; cout << "Podaj ocene z angielskiegon"; cin >> ang; cout << "Podaj ocene z infyn"; cin >> inf; cout << "Podaj ocene z biologiin"; cin >> bio; cout << "Podaj ocene z Chemiin"; cin >> ch; cout << "Podaj ocene z geografiin"; cin >> geo; cout << "Podaj ocene z WFun"; cin >> wf; cout << "Podaj ocene z Fizykin"; cin >> fiz; ks=pol+mat+his+wos+muz+ang+inf+bio+ch+geo+wf+fiz/12; cout << "Twoja srednia to.........n"; cout << ks; sleep(5); goto start; break; case 3: return 0; break; default: cout << "Zly wyborn"; break; } }
Z gory dziekuje za wszelkie wskazowki ;)
Pozdrawiam
Offline
zadeklaruj zmienną menu jako int.
BTW czy ja tam widziałem goto ? (a fe... i to w c++)
PS uzywaj raczej skladni zgodnej z ansi czyli #include<iostream> (bez podawania rozszerzenia (.H)
Offline
Dzieki skompilowalo sie jak burza ;)
Oczywiscie naniose poprawki do kodu :)
Offline
czasami to goto się przydaje (ale żadko, bardzo żaaaaadddkooooo). Za to powinno się palić na stosie (tak jak za częste stosowanie preprocesora lub rzutowania innnego niż *cast<>)
zmiena i jako int
Offline
zmiena i jako int[/quote]
sorki zmieną menu jako int
Offline
kurde palic na stosie nie przesesadzajacie jak kto chce to czemu nie oze uzywac goto?? albo nie pisac iostrem.h bo nie jest zgodne... mnie bynajmnej g***o obchodzi czy cos jest zgodne z iso czy nie, wazne by dzialalo tak jak ja chce...
Offline
[quote=rogos]kurde palic na stosie nie przesesadzajacie jak kto chce to czemu nie oze uzywac goto?? albo nie pisac iostrem.h bo nie jest zgodne... mnie bynajmnej g***o obchodzi czy cos jest zgodne z iso czy nie, wazne by dzialalo tak jak ja chce...[/quote]
Jak robisz program tylko dla siebie i samemu to czemu nie. Inaczej nie moze cie gowno obchodzic...
Ostatnio edytowany przez riker (2008-12-02 23:02:50)
Offline
[b]riker[/b] aleś odkopał :P wątek martwy od ponad 3 lat!!
Offline
...ale ma rację facet, no i hugo ;)
Offline
goto czasem się przydaje (np. wyskoczenie z zagnieżdżonej, pętli, czy np. wyszukiwanie w tabeli jakieś wartości - jeśli nie znajduje się to w osobnej funkcji która zwraca odpowiednią wartość np. boolowską)
Offline
Time (s) | Query |
---|---|
0.00008 | SET CHARSET latin2 |
0.00003 | SET NAMES latin2 |
0.00114 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.116.43.109' WHERE u.id=1 |
0.00089 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.116.43.109', 1732345016) |
0.00058 | SELECT * FROM punbb_online WHERE logged<1732344716 |
0.00065 | SELECT topic_id FROM punbb_posts WHERE id=13250 |
0.00006 | SELECT id FROM punbb_posts WHERE topic_id=1232 ORDER BY posted |
0.00071 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=1232 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00338 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=1232 ORDER BY p.id LIMIT 0,25 |
0.00105 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=1232 |
Total query time: 0.00863 s |