Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Nie rozumiem zadania 9.6_2

Ostatnio zmodyfikowano 2009-11-05 20:16
Autor Wiadomość
Mastahnish
Temat założony przez niniejszego użytkownika
Nie rozumiem zadania 9.6_2
» 2009-10-10 19:41:45
Mogły ktoś mi wytłumaczyć o co tutaj chodzi?
Jakie tablice trzeba stworzyć?
Tak wyglada moj kod:
C/C++
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
   
   
    char imie;
    char nazwisko;
    char tel;
    char uwagi;
   
    int liczba_osob;
   
    cout << "Podaj liczbe osob ktora chcesz dodac do skoroszytu: ";
    cin >> liczba_osob;
   
    cout << "\nPodano liczbe: " << liczba_osob << endl;
   
    int a = 1;
   
    while( a <= liczba_osob ) {
       
        cout << "Osoba " << a << endl;
       
        cout << "Imie: ";
        cin >> imie;
        cout << endl;
       
        while( a <= liczba_osob ) {
           
            cout << "Nazwisko: ";
            cin >> nazwisko;
            cout << endl;
           
            while( a <= liczba_osob ) {
               
                cout << "Nr Tel.: ";
                cin >> tel;
                cout << endl;
               
                while( a <= liczba_osob ) {
                   
                    cout << "Uwagi: ";
                    cin >> uwagi;
                    cout << endl;
                    ++a;
                }
            }
            ++a;
        }
    }
    cout << "\n------------------------\n";
    a += 1;
   
   
    getch();
    return( 0 );
}
Proszę o Pomoc.
P-10791
lynx
» 2009-10-10 20:10:53
Cóż, zadanie jest chyba lekko trudne dla uczących się na tym etapie.

Ja pewnie zrobiłbym to tak jeżeli chodzi o:
1. Tablice
a) Utworzył 4 tablice (jedna dla imion, druga dla nazwisk itd.), np. 10 elementowe.
b) Nie pozwolił by użytkownik chciał wpisać więcej niż 10 ludzi.

2. Pętle
a) Użyj pętli do while (ją sugeruje tytuł, ale jednej), będzie ona musiała wyglądać jakoś na wzór tej:
C/C++
int i = 0; //zmienna zawierająca liczbę obrotów pętli (liczbę dodanych użytkowników
do
{
    cin >> nazwiska[ i ]; //zapisujemy do tablicy w odpowiednim miejscu dzięki zmiennej i
    //itd...
    i++
} while( i < ile_mamy_dodac_osob ); //powtarzamy pobieranie danych


Chyba już wszystko. :)
Sugerowałbym Ci byś przeczytał jeszcze raz lekcję o pętlach jeżeli czegoś nie rozumiesz, bo widziłem że tam próbowałeś zrobić ich kilka. :)

/edit:
Jeżeli chodzi o działanie to program powinień działać w taki sposób:
1) Pobrać liczbę mówiącą ile osób chcemy dodać
2) Zminiejszyć ją (jeśli to wymagane) do maks 10. (wielkość tablicy)
3) Pętla zwierająca pobieranie i zapis danych, robi określoną liczbę okrążeń
4) Kolejna pętla, odczytująca tablice z danymi.
5) End
P-10792
Mastahnish
Temat założony przez niniejszego użytkownika
» 2009-10-11 03:43:41
No i znowu w tym samym momencie jest problem, do..while omija podanie nazwiska, tel i uwag i żąda danych dopiero przy drugim obrocie petli w drugim pobieraniu [czyli pryz nazwisku ?
Jak tu sie nie zniechęcić? Prosze o pomoc! Oto kod:
C/C++
#include<iostream>
#include<conio.h>

using namespace std;

int main()
{
   
    char imie[ 10 ];
    char nazwisko[ 10 ];
    char tel[ 10 ];
    char uwagi[ 120 ];
   
    int ilosc_osob;
    cout << "Ile osob chcesz wpisac do skoroszytu? \n";
    cin >> ilosc_osob;
   
    if( ilosc_osob <= 10 )
    {
        int i = 0;
        do
       
        {
           
            cout << "Podaj imie: \n";
            cin >> imie[ i ];
           
            cout << "Podaj nazwisko: \n";
            cin >> nazwisko[ i ];
           
            cout << "Podaj telefon: \n";
            cin >> tel[ i ];
           
            cout << "Uwagi: \n";
            cin >> uwagi[ i ];
           
           
        }
        while( i < ilosc_osob );
       
    }
    else
         cout << "Podaj nie wiecej niz 10 osob\n";
   
    getch();
    return 0;
}
P-10800
GoldWolf
» 2009-10-11 07:53:33
Niestety to tylko Twoja wina, kłopoty w które wpadłeś polegają na tym, że dobrze nie przerobiłeś(zrozumiałeś) lekcji VII. Ciągi znaków – łańcuchy. Tam pisze jak sobie radzić z tym problem, oraz na jakie kłopoty możesz się natknąć podczas pracy przy wczytywaniu danych.
P-10801
dmx81
» 2009-10-12 22:48:56
I jak, poradziles juz sobie z tym zadaniem? ja je dzis tez robilem i dziala poprawnie, skopiowalem Twoj kod aby sprawdzic o co chodzi i wychwycilem 2 sprawy, ale nie wiem czy pisac wprost, bo sam zaczalem od Twojego kodu i wydawalo mi sie wszytsko ok, ale pozniej przesledzilem po kolei, poprawilem, a raczej napisalem od poczatku i dziala poprawnie, jakby co to daj znac, to napisze,co wg mnie mozna poprawic - cos dopisac, cos przesunac i gra :)
P-10846
bartek483
» 2009-11-05 19:19:59
Rozwiazlem to zad ;) Dla tych co nie potrafia sobie z nim poradzic ;)
C/C++
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
    int a;
   
    int osoba[ 10 ];
    string imie[ 10 ];
    int liczba_osob[ 10 ];
   
    cout << "Podaj liczbe osob, ktore chcesz wprowadzic do skoroszytu ? ";
    cin >> a;
    cout << endl << "Podano liczbe " << a << "." << endl << endl;
   
    liczba_osob[ 0 ] = 0;
    while( liczba_osob > 0 )
    {
        liczba_osob[ 0 ] ++;
       
        cout << "Osoba nr " << liczba_osob[ 0 ] << " ";
       
        cout << "Imie: ";
       
        cin >> imie[ 0 ];
       
        if( liczba_osob[ 0 ] == a ) break;
       
    }
   
    cout << endl << "Nacisnij klawisz aby zakonczyc dzialanie programu ..";
   
    getch();
    return 0;
}

ps: Dzieki pixelmaster ;)
P-11311
malan
» 2009-11-05 20:16:13
Ewentualnie można zrobić tak:
C/C++
#include <iostream>
#include <string>
using namespace std;

const int MAX_ILOSC_OSOB = 10;

int main()
{
    string tImie[ 10 ], tNazwisko[ 10 ], tNumerTelefonu[ 10 ], tUwagi[ 10 ];
    int iloscOsob = 0;
   
    cout << "Podaj liczbe osob, ktore chcesz wprowadzic do skoroszytu: ";
    cin >> iloscOsob;
   
    if( iloscOsob <= MAX_ILOSC_OSOB )
    {
        cout << "Podano liczbe " << iloscOsob << ". Wprowadz dane:" << endl;
       
        for( int i = 0; i < iloscOsob; i++ )
        {
            cout << "Osoba - " << i + 1 << ": Imie - ";
            cin >> tImie[ i ];
           
            cout << "Nazwisko - ";
            cin >> tNazwisko[ i ];
           
            cout << "Nr tel.: ";
            cin >> tNumerTelefonu[ i ];
           
            cout << "Uwagi - ";
            cin >> tUwagi[ i ];
        }
       
        // ** Wyświetlanie danych ** //
        for( int i = 0; i < iloscOsob; i++ )
        {
            cout << "Osoba - " << i + 1 << ": Imie - " << tImie[ i ] << "; Nazwisko - " << tNazwisko[ i ] << endl;
            cout << "Nr tel.: " << tNumerTelefonu[ i ] << "; Uwagi - " << tUwagi[ i ] << endl;
        }
    }
    return 0;
}
;)
P-11312
« 1 »
  Strona 1 z 1