Program polega na ankiecie gdzie udzielane są pytania, na które odpowiedzi są TAK albo NIE. Jak napisać algorytm, który będzie zliczał ilość odpowiedzi na TAK i na NIE?
zakładając że odpowiedzi są w tablicy to pytanie brzmi: czy umiesz iterować za pomocą pętli for
?
dodaj do programu 2 zmienne które za to odpowiadają i potem zwiększaj albo jedną albo drugą zależnie od odpowiedzi?
sig napisał(a):
dodaj do programu 2 zmienne które za to odpowiadają i potem zwiększaj albo jedną albo drugą zależnie od odpowiedzi?
Po kiego? Wystarczy zliczać TAK, zaś NIE = ILOŚĆ_PYTAN-TAK;
Treść programu, jaki algorytm powinienem dodać by program zadziałał?
#include <stdio.h>
#include <stdlib.h>
char imie[10],odpowiedz[3];
int pracownicy;
int main()
{
printf("podaj ilosc pracownikow\n");
scanf("%d",&pracownicy);
for(int i=1;i<=pracownicy;i++)
{
printf("podaj imie\n");
scanf("%s",imie);
printf("czy %s jest pelnoletnia,pelnoletni\n",imie);
scanf("%s",odpowiedz);
}
return 0;
}
igboy napisał(a):
Treść programu, jaki algorytm powinienem dodać by program zadziałał?
A teraz nie działa?
#include <iostream>
#include <stdio.h>
using namespace std;
char odpowiedz;
string imie;
int liczba_odp_tak=0;
int liczba_odp_nie = 0;
int pracownicy;
int main()
{
cout << "Podaj ilosc pracownikow" << endl;
cin >> pracownicy;
for (int i=1;i<=pracownicy;i++)
{
cout << "Podaj imie: ";
cin >> imie;
cout << "Czy jestes pelnoletni/a " << imie << endl;
cout << "1.Tak" << endl;
cout << "2.Nie" << endl;
cout << "Odpowiedz podaj w formie numeru 1 lub 2" << endl;;
cout << "Odpowiedz: ";
cin >> odpowiedz;
switch (odpowiedz)
{
case '1':
cout << "Dziekuje za odpowiedz."<<endl;
liczba_odp_tak++;
break;
case '2':
cout << "Dziekuje za odpowiedz"<<endl;
liczba_odp_nie++;
break;
default:
cout << "Wprowadz prawidlowa odpowiedz 1 lub 2." << endl;
getchar(); getchar();
}
cout << "Liczba odpowiedzi tak: " << liczba_odp_tak << endl;
cout << "Liczba odpowiedzi nie: " << liczba_odp_nie << endl;
getchar(); getchar();
system("cls");
}
return 0;
}
Napisany w języku C++ bo nie znam języka C, ale po szybkim researchu google podaje, że switch wygląda tak samo, a różnice są niemal tylko w tym że printf=cout, scanf=cin.
Sam często korzystałem z rozwiązań zadań z innych języków programowania. W sumie są podobne więc autorowi powinno to pomóc
Dla autora: getchar(); getchar(); jest wprowadzone żeby cały tekst zniknął dopiero po naciśnięciu klawisza, a system("cls") żeby wykasował wszystko w konsoli w celu polepszenia czytelności.
Zrobiłem to też żeby samemu się nauczyć, więc jak oceniacie takie rozwiązanie? Dlaczego zmienna powinna być w tablicy, jeżeli program nie musi ich zapamiętywać?