infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Petronel Catalin Joldescu din Noiembrie 08, 2013, 21:23:42



Titlul: Structura elev
Scris de: Petronel Catalin Joldescu din Noiembrie 08, 2013, 21:23:42
Am facut la scoala Structuri, insa m-am incurcat rau de tot la un exercitiu acasa. Se cere sa se creeze o structura care afiseaza cati elevi au 17 ani ... insa nu imi merge nici sa afisez datele elevilor. Imi afiseaza doar datele ultimului elev de n ori:
Cod:
#include <iostream>
using namespace std;
struct {
char nume[20],prenume[20];
int clasa,varsta;}elev;
int main()
{int i,n;
cin>>n;
for(i=0;i<n;i++){
cout<<"nume elev";
cin>>elev.nume;
cout<<"prenume elev";
cin>>elev.prenume;
cout<<"clasa elev";
cin>>elev.clasa;
cout<<"varsta";
cin>>elev.varsta;}
for(i=0;i<n;i++)
cout<<elev.nume<<endl<<elev.prenume<<endl<<elev.clasa<<endl<<elev.varsta<<endl;}


Dati-mi o idee va rog cum pot face sa imi afiseze datele corecte, la faza cu varsta sper sa ma descurc. Multumesc.


Titlul: Răspuns: Structura elev
Scris de: Dan Pracsiu din Noiembrie 08, 2013, 21:39:25
Prietene, parerea mea este ca ar trebui sa ceri ajutorul profesorului tau de informatica. Faptul ca inveti structuri inseamna ca esti probabil in clasa a X-a deja. Eroarea din programul tau este asemanatoare cu eroarea din urmatoarea secventa:
Cod:
for (i = 1; 1 <= 100; i++)
   cin >> n;
for (i = 1; 1 <= 100; i++)
  cout << n;
Sigur nu iti va afisa 100 de valori distincte.
Apleaca-te mai cu atentie asupra teoriei si problemelor simple daca vrei sa devii informatician.
Succes.


Titlul: Răspuns: Structura elev
Scris de: Petronel Catalin Joldescu din Noiembrie 08, 2013, 21:57:34
Sunt intr-a 11-a, dar sunt la mate info simplu si unele chestii le invat singur acasa. Sincer, raspunsul tau nu prea ma ajuta ... Si app, azi e vineri, nu pot sta pe loc cu probleme cu structuri pana luni.


Titlul: Răspuns: Structura elev
Scris de: Prehari Romica din Noiembrie 08, 2013, 22:27:27
Ca sa memorezi datele de la mai multi elevi, trebuie ca variabila elev sa fie de tablou unidimensoinal.

Asa ar trebui sa mearga:

Cod:
#include <iostream>
using namespace std;
struct {
 char nume[20],prenume[20];
 int clasa,varsta;}elev[20];
int main()
{int i,n;
cin>>n;
for(i=0;i<n;i++){
 cout<<"nume elev";
cin>>elev[i].nume;
cout<<"prenume elev";
cin>>elev[i].prenume;
cout<<"clasa elev";
cin>>elev[i].clasa;
cout<<"varsta";
cin>>elev[i].varsta;}
for(i=0;i<n;i++)
cout<<elev[i].nume<<endl<<elev[i].prenume<<endl<<elev[i].clasa<<endl<<elev[i].varsta<<endl;}