Baza danych C++

DD
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 11 lat
  • Postów:3
0

Czy ktoś może odpowiedzieć na pytanie dlaczego poniższy program odczytuje dane w sposób : np Kowalski Jan 23504204.5Lis 134.3Lis 4.5Lis?
Poprawne wyświetlenie np Kowalski Jan 23504 20 4.5 Lis Marzena 12345 13 4.3
zaznaczę ze program ma odczytać : nazwisko, imię, numer indeksu, wiek, średnia ocen 20 osob a juz przy 2 osobach robi takie jaja. Gdzie popełniłem błąd?

Kopiuj
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <locale.h>
using namespace::std;

typedef struct
{
	char nazwisko [10];
	char imie [10];
	char nr_albumu [5];
	char wiek [2];
	char srednia_ocen[3];
}
student;
student baza[100];
int ile_studentow=0, i=0;
char pobrany_znak;

void dodaj_studenta(student *baza)
{
	do 
	{
	printf("Nazwisko : ");
	gets(baza[ile_studentow].nazwisko);
    printf("Imie : ");
	gets(baza[ile_studentow].imie);
	printf("Nr albumu : ");
	gets(baza[ile_studentow].nr_albumu);
    printf("Wiek : ");
	gets(baza[ile_studentow].wiek);
    printf("Średnia ocen : ");
	gets(baza[ile_studentow].srednia_ocen);
	ile_studentow++;
	}
	while (ile_studentow<2);
}

int main ()
{
	setlocale(LC_ALL,"Polish");
	cout << "*** Baza danych studentów ***" << endl;
	cout << endl;

	cout << " Wprowadzanie danych :" << endl;
	cout << endl;

	FILE *fp;

	

	dodaj_studenta(baza);


	cout << ile_studentow << endl;
	cout << baza[i].nazwisko << ' ';
	cout << baza[i].imie << ' ';
	cout << baza[i].nr_albumu << ' ';
	cout << baza[i].wiek << ' ';
	cout << baza[i].srednia_ocen;
	cout << endl;

	getch();
	//---------------------------------------

return 0;
getch();
}
_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:3 miesiące
0

Może tak znajdziesz w dokumentacji co robi funkcja gets?


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
edytowany 1x, ostatnio: _13th_Dragon
MB
  • Rejestracja:ponad 12 lat
  • Ostatnio:prawie 9 lat
  • Postów:45
0

Strasznie śmiecisz, po co inkludujesz tyle rzeczy, po co FILE *fp ? Piszesz w c czy w c++ ?

Kopiuj
#include <iostream>

using namespace ::std;

typedef struct {
    char nazwisko[10];
    char imie[10];
    char nr_albumu[5];
    char wiek[2];
    char srednia_ocen[3];
} student;
student baza[100];
int ile_studentow = 0, i = 0;
char pobrany_znak;

void dodaj_studenta(student *baza) {
    do {
        cout << "Nazwisko : ";
        cin >> baza[ile_studentow].nazwisko;
        cout << "Imie : ";
        cin >> baza[ile_studentow].imie;
        cout << "Nr albumu : ";
        cin >> baza[ile_studentow].nr_albumu;
        cout << "Wiek : ";
        cin >> baza[ile_studentow].wiek;
        cout << "Średnia ocen : ";
        cin >> baza[ile_studentow].srednia_ocen;
        ile_studentow++;
    } while (ile_studentow < 2);
}

int main() {
    setlocale(LC_ALL, "Polish");
    cout << "*** Baza danych studentów ***" << endl;
    cout << endl;

    cout << " Wprowadzanie danych :" << endl;
    cout << endl;

    dodaj_studenta(baza);

    cout << ile_studentow << endl;
    cout << baza[i].nazwisko << ' ';
    cout << baza[i].imie << ' ';
    cout << baza[i].nr_albumu << ' ';
    cout << baza[i].wiek << ' ';
    cout << baza[i].srednia_ocen;
    cout << endl;
    return 0;
} 
KA
Typowy student. 1rok, Visual Studio i mieszanina C/C++

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.