Język C tablice
Ostatnio zmodyfikowano 2013-11-18 20:45
xkamilek69 Temat założony przez niniejszego użytkownika |
Język C tablice » 2013-11-18 12:27:59 Witam mam do napisania programik w którm przy pomocy tabliy tworze liste studentó, użytkownik podaj liczbe studentów i wypisuje ich imiona i nazwiska, następnie może wybrać dowolny wiersz i wyświetlić imię i nazwisko studenta.Nie wiem czy moje rozumowanie jest dobre, a poza tym kompilator wciąz wywala mi jakieś błedy, będę bardzo widzięczny za pomoc. O to mój programik: #include <stdio.h> #include <stdlib.h>
int main( int argc, char * argv[] ) { int i, p; int a; scanf( "%i", & a ); float imie, nazw; char baza[ 10 ][ 2 ][ 20 ]; printf( "Podaj liczbe studentow\n" ); scanf( "%i", & a ); for( i = 0; i < a; i++ ) { printf( "Podaj: nazwisko \n" ); scanf( "%s ", & baza[ i ].imie, ); printf( "Podaj: imie\n" ); scanf( "%s ", & baza[ i ].nazw ); } for( i = 0; i < a; i++ ) wysw( baza[ i ] ); pritnf( "podaj numer wiersza" ); scanf( "%d", p ); if( p < 0 ) { printf( "nieprawidłowy numer wiersza" ); } else printf( baza[ p ] ); return 0; } |
|
kampar |
» 2013-11-18 14:24:37 & baza.imie & baza.nazw wysw( baza );
Nie masz tego nigdzie zadeklarowanego |
|
xkamilek69 Temat założony przez niniejszego użytkownika |
» 2013-11-18 14:28:16 we float mam imie i nazw, a baza to tablica, ale nie wiem. Jak coś tłumacz jak kompletnemu debilowi, bo prawdopodobnie inaczej nie zrozumiem. |
|
pekfos |
» 2013-11-18 14:55:32 baza to nie tablica struktur, więc nie możesz użyć takiego zapisu. Poza tym %s wczytuje tekst, a nie float. |
|
f651144 |
» 2013-11-18 15:21:23 1. Formatowanie kodu! Zresztą, co ja się będę produkować? Od tego jest Wikipedia XD - http://pl.wikipedia.org/wiki/Formatowanie_kodu. 2. Nazwy są po to, by NAZYWAŁY, a nie były kolejnymi literami alfabetu. 3. Dlaczego zakładasz, że liczba studentów nie przekroczy 10? 4. Wypisywanie kolejnych podpunktów nie ma sensu... Oto poprawiony kod: #include <stdio.h> #include <stdlib.h>
int main() { int liczba_studentow; printf( "Podaj liczbe studentow: \n" ); scanf( "%i", & liczba_studentow ); char baza[ liczba_studentow ][ 2 ][ 20 ]; for( int i = 0; i < liczba_studentow; i++ ) { printf( "Podaj nazwisko studenta %i:\n", i + 1 ); scanf( "%s", baza[ i ][ 0 ] ); printf( "Podaj imie studenta %i:\n", i + 1 ); scanf( "%s", baza[ i ][ 1 ] ); } int wybrany_student; printf( "Podaj numer studenta: " ); scanf( "%i", & wybrany_student ); if( wybrany_student <= 0 || wybrany_student > liczba_studentow ) printf( "\nNieprawidlowy numer." ); else { printf( "\nNazwisko: " ); printf( "%s", baza[ wybrany_student - 1 ][ 0 ] ); printf( "\nImie: " ); printf( "%s", baza[ wybrany_student - 1 ][ 1 ] ); } printf( "\n\n" ); system( "pause" ); return 0; }
Przeanalizuj go i porównaj ze swoim. Pozdrawiam i życzę miłej walki z tablicami! ;) |
|
xkamilek69 Temat założony przez niniejszego użytkownika |
» 2013-11-18 20:45:17 Niezle naprawde niezle. Wielkie dzieki jesli moge sie jakos odwdzieczyc (jakies plusy czy cos) to nie ma sprawy. |
|
« 1 » |