Skocz do zawartości

Mały programik w C


Recommended Posts

Witam!! Napisał program który zadaje pytania i trzeba na nie odpowiedzieć, oto kod:

 

 

main()
{
int answer;
puts ("Jezyk C jest:\n");
puts ("1.Jezykiem uzywanym w poludniowej Francji\n");
puts ("2.Jezykiem uzywanym tylko do pisania duzych programow\n");
puts ("3.Jezykiem kompilowanym,latwym do przenoszenia na rozne systemy\n");
puts ("4.Zadnym z wymienionych\n");
puts ("Podaj odpowiedz od 1 do 4\n");
answer = getchar();
putchar ('\n');
switch (answer)
{
  case '1':
   puts ("Niestety, nie.\n");
   puts ("Na poludniu Francji dominuje Pascal\n");
  break;
 
  case '2':
   puts ("Niestety, nie. Jezyk Cmoze byc uzywany do pisania\n");
   puts ("programow dowolnych typow i wielkosci.\n");
  break;
 
  case '3':
   puts ("Bardzo dobrze!\n");
   puts ("Jezyk C jest jezykiem kompilowanym i moze byc uzywany\n");
   puts ("na wielu roznych systemach komputerowych.\n");
  break;
 
  case '4':
   puts ("Niestety, nie. Tylko odpowiedx 3 jest poprawna.\n");
  break;
  default:
   puts ("Podales znak inny niz cyfry 1 - 4\n");
  
  }

}

I chciał bym w nim dodać:

-więcej pytań

-funkcję która by liczyła punkty

-i żeby na końcu była taka punktacja

 

(jeszcze jedno co musze dodać żeby mi okno nie znikało po podaniu odpowiedzi ??)

Link to post
Share on other sites

Zrobiłbym Ci to ale co z tego skoro nic się nie nauczysz. Mogę jedynie nakierować Cię na odpowiednią drogę.

1. Co zrobić aby dodać więcej pytań? To zależy jak byś chciał to zrobić.

2. Po prostu dodaj jedną zmienną typu int a potem pod odpowiednim case (dobrą odpowiedzią) dodaj

nazwazmiennej += 1;
3. Następnie musisz ją po prostu wyświetlić za pomocą printf (lepiej to stosować niż puts).

4. Dodaj getchar() przed ostatnią klamrą i powinno działać.

Edytowane przez Ravan
Link to post
Share on other sites

jutro zaczne kombinować jak zadziała dam znać

 

#include "stdio.h"
main()
{
int answer =2;
puts ("Jezyk C jest:\n");
puts ("1.Jezykiem uzywanym w poludniowej Francji\n");
puts ("2.Jezykiem uzywanym tylko do pisania duzych programow\n");
puts ("3.Jezykiem kompilowanym,latwym do przenoszenia na rozne systemy\n");
puts ("4.Zadnym z wymienionych\n");
puts ("Podaj odpowiedz od 1 do 4\n");
getchar();
putchar ('\n');
switch (answer)
{
  case '1':
   puts ("Niestety, nie.\n");
   puts ("Na poludniu Francji dominuje Pascal\n");
  break;

  case '2':
   puts ("Niestety, nie. Jezyk Cmoze byc uzywany do pisania\n");
   puts ("programow dowolnych typow i wielkosci.\n");
  break;

  case '3':
   puts ("Bardzo dobrze!\n");
   puts ("Jezyk C jest jezykiem kompilowanym i moze byc uzywany\n");
   puts ("na wielu roznych systemach komputerowych.\n");
  break;

  case '4':
   puts ("Niestety, nie. Tylko odpowiedx 3 jest poprawna.\n");
  break;
  default:
   puts ("Podales znak inny niz cyfry 1 - 4\n");

  }
getchar();
putchar ('\n');
switch (answer)
{
puts ("Jezyk C jest:\n");
puts ("1.Jezykiem uzywanym w poludniowej Francji\n");
puts ("2.Jezykiem uzywanym tylko do pisania duzych programow\n");
puts ("3.Jezykiem kompilowanym,latwym do przenoszenia na rozne systemy\n");
puts ("4.Zadnym z wymienionych\n");
puts ("Podaj odpowiedz od 1 do 4\n");

case '1':
   puts ("Niestety, nie.\n");
   puts ("Na poludniu Francji dominuje Pascal\n");
  break;

  case '2':
   puts ("Niestety, nie. Jezyk Cmoze byc uzywany do pisania\n");
   puts ("programow dowolnych typow i wielkosci.\n");
  break;

  case '3':
   puts ("Bardzo dobrze!\n");
   puts ("Jezyk C jest jezykiem kompilowanym i moze byc uzywany\n");
   puts ("na wielu roznych systemach komputerowych.\n");
  break;

  case '4':
   puts ("Niestety, nie. Tylko odpowiedx 3 jest poprawna.\n");
  break;
  default:
   puts ("Podales znak inny niz cyfry 1 - 4\n");
  }
}
Tak może być tylko jak wpisuje odpowiedź to mi odrazu nika co jeszcze bym musiał zrobić jakąś pętle zastosować ?? Edytowane przez Armin197
Link to post
Share on other sites

Ja zamiast switcha zrobilbym petle, chociazby if :)

cin>>answer

if(answer = "3"){

cout>>"Odpowiedz prawidlowa, gratki";

}else

cout>>"Odpowiedz nie prawidlowa";

 

skladnia moze byc troszke pomylona, ale ogolnie zamysl jakis to jest.

Link to post
Share on other sites

No możesz pętle ale po co, nie będziesz w nieskończoność zadawał pytań. Tak jak mówiłem daj getchar(); przed ostatnią klamrą i powinno działać. I takie pytanie: dlaczego C a nie od razu C++?

Powiem ci tak przeczytałem symfonie C++ i nic prawie z nie nie zrozumiałem. A POżyczyłem od kumpla książke Języki C i C++ to ją zrozumiałem tylko w niej więcej piasało o c niż o c++ może znasz jakiś dobry kurs C++??

Link to post
Share on other sites

Masakra jakaś, weź poprawnie napisz funkcję main bo mnie aż trafia jak patrze na nią. Minimum to dopisanie 'int' przed nią i przed ostatnią klamrą 'return 0;'

 

Jakiego kompilatora używasz że pozwala Ci na takie rzeczy?

 

 

no i chyba brakuje takiej linijki

answer=getchar();
Link to post
Share on other sites

Masakra jakaś, weź poprawnie napisz funkcję main bo mnie aż trafia jak patrze na nią. Minimum to dopisanie 'int' przed nią i przed ostatnią klamrą 'return 0;' Jakiego kompilatora używasz że pozwala Ci na takie rzeczy? no i chyba brakuje takiej linijki

answer=getchar();

 

Wiem poprawiłem błędy. A używam Dev-C++

Link to post
Share on other sites

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Odpowiedz w tym wątku...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...