Łatwy program - podział na funkcje

0

Witam jestem w 1 kl technikum informatycznym .Zrobiłem łatwy program na zaliczenie .Che podzielić go na funkcje ale coś mi nie wychodzi .np

+++++++++++++++++++++++++++++++
twoja baza
1.
2.
++++++++++++++++++++++++++++++

po wpisaniu danych nie wyświetla mi .Bez funkcji program działa bez problemu.
Proszę o pomoc

#include <iostream>
#include <conio.h>
#include <cstdio>


using namespace std;

int i,n,x,y=1;


int main()
{
      cout<<"------------------------------------------"<<endl;
     cout<<"ile rekordow chcesz dodac ?"<<" "<<endl; 
     cout<<"------------------------------------------"<<endl;
     cin>>x;
     cout<<endl;

    string imie[2][x];
  string nazwisko[2][x];
 
     for (i=0;i<1;i++)
        {
            for (n=0;n<x;n++)
            {
          
           cout<<"--------------------------------------"<<endl;
             cout<<"podaj imie nr:  "<<n+1<<" ";
               cin>>imie[i][n];

                  cout<<"podaj nazwisko nr:  "<<n+1<<" ";
                  cin>>nazwisko[i][n];
             cout<<"--------------------------------------"<<endl;
                cout<<endl;
            }
      }

       cout<<"+++++++++++++++++++++++++++++++++++++++"<<endl;
      cout<<"Twoja baza :";
      cout<<endl;

    for (i=0;i<1;i++)
      {
                 for (n=0;n<x;n++)
                {
                        cout<<endl;
                         cout<<y++<<"."<<imie[i][n]<<" "<<nazwisko[i][n];
                 }
      }

      cout<<endl;
      cout<<"+++++++++++++++++++++++++++++++++++++++"<<endl;

      getch();

    return 0;
      }

usunięcie mnóstwa zbędnych pustych linii z kodu - fp

1
  1. Co wspólnego ma przedstawiony kod z podziałem na funkcji?
  2. Co ci nie wychodzi? Bo z tego bajzla nie da się odczytać co chciałeś zrobić
  3. Może jednak przeczytasz jakiś pierwszy lepszy kurs, przynajmniej pierwsze kilka stron.
0

Ten z kim Mam PSIO mówi że może być ten program i kazał mi coś takiego zrobić

#include <iostream>
#include <conio.h>
#include <cstdio>
#include <cstring>

using namespace std;

int i,n,x,y=1;
void dodawanie();
void wyswietlenie();



int main()



{
 dodawanie();
wyswietlenie();
      
      getch();
      
     
    return 0;
    
      }
      
  
  
  void dodawanie()
  {
      cout<<"------------------------------------------"<<endl;
     cout<<"ile rekordow chcesz dodac ?"<<" "<<endl; 
     cout<<"------------------------------------------"<<endl;
     cin>>x;
     cout<<endl;
    
    
    string imie[2][x];
  string nazwisko[2][x];
 
     for (i=0;i<1;i++)
        {
            for (n=0;n<x;n++)
            {
          
           cout<<"--------------------------------------"<<endl;
             cout<<"podaj imie nr:  "<<n+1<<" ";
               cin>>imie[i][n];
          
                
      
                  
                  cout<<"podaj nazwisko nr:  "<<n+1<<" ";
                  cin>>nazwisko[i][n];
             cout<<"--------------------------------------"<<endl;
                cout<<endl;
                  
            }
             
      
  }
  }
  
      
      void wyswietlenie()
      {
          string imie[2][x];
  string nazwisko[2][x];
  

      
       cout<<"+++++++++++++++++++++++++++++++++++++++"<<endl;
      cout<<"Twoja baza :";
      cout<<endl;
      
    for (i=0;i<1;i++)
      {
               
                
                 for (n=0;n<x;n++)
                {
                        cout<<endl;
           
                         cout<<y++<<"."<<imie[i][n]<<" "<<nazwisko[i][n];
       
         
         
                 }
      
     
      }
      cout<<endl;
      cout<<"+++++++++++++++++++++++++++++++++++++++"<<endl;    
      }
      
   

wynik programu:
http://zapodaj.net/cce4b248a28a8.png.html

wiem trochę burdelu jest ale dopiero się ucze.

0

Zmienne imie i nazwisko powinny być zdefiniowane globalnie, a nie lokalnie w funkcjach.

0
#include <iostream>
#include <conio.h>
#include <cstdio>
#include <cstring>

using namespace std;

int i, n, x, y = 1;
void dodawanie();
void wyswietlenie();

int main() {
  dodawanie();
  wyswietlenie();

  getch();

  return 0;

}

void dodawanie() {
  cout << "------------------------------------------" << endl;
  cout << "ile rekordow chcesz dodac ?"
       << " " << endl;
  cout << "------------------------------------------" << endl;
  cin >> x;
  cout << endl;

  string imie[2][x];
  string nazwisko[2][x];

  for (i = 0; i < 1; i++) {
    for (n = 0; n < x; n++) {

      cout << "--------------------------------------" << endl;
      cout << "podaj imie nr:  " << n + 1 << " ";
      cin >> imie[i][n];

      cout << "podaj nazwisko nr:  " << n + 1 << " ";
      cin >> nazwisko[i][n];
      cout << "--------------------------------------" << endl;
      cout << endl;

    }

  }
}

void wyswietlenie() {
  string imie[2][x];
  string nazwisko[2][x];

  cout << "+++++++++++++++++++++++++++++++++++++++" << endl;
  cout << "Twoja baza :";
  cout << endl;

  for (i = 0; i < 1; i++) {

    for (n = 0; n < x; n++) {
      cout << endl;

      cout << y++ << "." << imie[i][n] << " " << nazwisko[i][n];

    }

  }
  cout << endl;
  cout << "+++++++++++++++++++++++++++++++++++++++" << endl;
}

Proszę, sformatowałem za Ciebie, bo tego, co to wkleiłeś nie idzie czytać.

Twoim problemem jest traktowanie poniższych zmiennych lokalnych jako globalnych.

  string imie[2][x];
  string nazwisko[2][x];
0

czyli mam przenieść :

string imie[2][x];
  string nazwisko[2][x]; 

to przed funkcją main ? jak tak robię to mi wywala błąd:
[Error] array bound is not an integer constant before ']' token

proszę o jakąś podpowiedz ;) nie miałem jeszcze tych zmiennych globalnych i się sam uczę ;) proszę o pomoc

0
adzik5118 napisał(a):

... nie miałem jeszcze tych zmiennych globalnych ...
A to za przeproszeniem co?

adzik5118 napisał(a):

...
using namespace std;

int i,n,x,y=1; // TO SĄ ZMIENNE GLOBALNE
void dodawanie();
...




 > ##### [adzik5118 napisał(a)](http://4programmers.net/Forum/1005643):
> ... się sam uczę ...
 Nie uczysz się, marudzisz o gotowce - a to duża różnica.

1 użytkowników online, w tym zalogowanych: 0, gości: 1