char podanie znakow z klawiatury

Odpowiedz Nowy wątek
2011-07-30 21:26
fifa69
0

Witam. Proszę o pomoc bo jestem cienki w temacie C++ :)

Jak mam zrobić aby do "z1 + z2 + z3 + z4]" przypisać znaki wpisane z klawiatury?? Zaznaczam ze ich ilość może być dowolna.
Próbuje coś z tym zrobić i nic mi nie wychodzi od kilku godzin:(

Oto kod mojego programu:

#include <iostream>
#include <fstream>
#include <windows.h>
#include <conio.h>
#include <string>

int main()
{
using std::cout;
using std::cin;
int lz ; // zmienna opisujaca liczbe znakow hasla
std::ofstream plik;
//**
// KOMUNIKATY DO UZYTKOWNIKA
cout << "Za chwile zaczne generowac slownik\n";
cout << "\n" ;
cout << "Podaj liczbe znakow w slowniku\n" ;
cin >> lz;
cout << "\n" ;
cout << "Podaj jakich znakow uzyc (bez spacji) \n" ;
char* = cin >> z1 >> z2 >> z3 >> z4 ;
//**

strlen(znaki) = "z1 + z2 + z3 + z4]" // znaki uzyte w slowniku
int len = strlen(znaki);
plik.open("plik.txt");
int n = 0;
switch (lz)
{ case 2 :
for(int i = 0; i < len; i++)
for(int j = 0; j < len; j++)
plik << (znaki+i) << (znaki+j) << std::endl;
break ;

      case 3 :
      for(int i = 0; i < len; i++)
        for(int j = 0; j < len; j++)
           for(int k = 0; k < len; k++)
             plik << *(znaki+i) << *(znaki+j) << *(znaki+k) << std::endl;
            break ;
            }

plik.close();

  cout << "Slownik gotowy \n";

getch();
}

Pozostało 580 znaków

2011-07-31 10:56
0

O coś takiego Ci chodzi?

#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
    int a;
    cout<<"Podaj ilu znaków chcesz uzyc: ";
    cin>>a;
    char *znaki = new char[a];
    for(int i=0;i<a;i++)
    {
        cout<<"Podaj znak "<<i+1<<" ";
        cin>>znaki[i];
    }
    delete [] znaki;
    return 0;
}

edytowany 1x, ostatnio: ujemny, 2011-07-31 11:04

Pozostało 580 znaków

2011-07-31 12:04
fifa69
0

hmm.. nie do końca o to:(

W załączniku jest plik projektu w *rar Zerknij jak możesz to zobaczysz o co mi chodzi:) Normalnie mnie to rozpier..

 
#include <iostream>
#include <fstream>
#include <windows.h>
#include <conio.h>
#include <string>
 
using namespace  std ;
int main() 
   {
    using std::cout;
    using std::cin;
    int lz ; // zmienna opisujaca liczbe znakow hasla
    char* zmienna_znak;
    int Get();
      //**********************************************************
   // KOMUNIKATY DO UZYTKOWNIKA
   cout << "Za chwile zaczne generowac slownik\n";
   cout << "\n" ;
   cout << "Podaj liczbe znakow w slowniku\n" ; 
   cin >> lz; 
   cout << "\n" ;
 
    //**********************************************************
   fstream plikdane;
    plikdane.open( "charset.txt", ios::in ); //tu pobiera ciag znakow z pliku charset.txt
    if( plikdane.good() )
    {
         cout << "Wybrany przez ciebie zestaw znakow to :" << endl; // pokazuje ten zestaw 
        while( !plikdane.eof() )
        {
            getline( plikdane, zmienna_znak ); // pobranie ciagu znakow do zmiennej zmienna_znak
            cout << zmienna_znak << endl;
        }
        plikdane.close(); 
}
 
   std::ofstream plik;
   //napis() = char* znaki
   char zmienna_znak = *zmienna_znak ;             // znaki uzyte w slowniku pobrane z pliku charset.txt
   int len = strlen(zmienna_znak);
   plik.open("plik.txt");   // plik utworzonego slownika 
    int n = 0;
   switch (lz);
 
   { case 2 :
       for(int i = 0; i < len; i++)
         for(int j = 0; j < len; j++)
           plik << *(zmienna_znak+i) << *(zmienna_znak+j) << std::endl;
          break ;
 
          case 3 :
          for(int i = 0; i < len; i++)
            for(int j = 0; j < len; j++)
               for(int k = 0; k < len; k++)
                 plik << *(znaki+i) << *(znaki+j) << *(znaki+k) << std::endl;
                break ;
                }
                // for(int n = 0; n < len; n++)
                  // for(int o = 0; o < len; o++)
                    // for(int p = 0; p < len; p++)
 
                 //plik << *(znaki+i) << *(znaki+j) << *(znaki+k) << *(znaki+l) << *(znaki+m) << *(znaki+n) << *(znaki+o) << *(znaki+p) << std::endl;
   //CzasKoncowy = GetTickCount();
   plik.close();
 
      cout << "Slownik gotowy \n";
   getch();
}` `` </code> `
A kto powiedział, że musisz używać C-Stringów? Nie możesz użyć stringów? #include <string> ? - Dr Zielu 2011-07-31 13:38

Pozostało 580 znaków

2011-07-31 17:30
fifa69
0

Mam problem w tej lini : --->> char zmienna_znak = *zmienna_znak ;

Do zmiennej zmienna_znak chce przypisać dowolny ciąg znaków zapisany w pliku charset.txt ( wpisany do tablicy) reszta działa bez zarzutu:)
Pomimo wielu podręczników i studiowania kursów na www nie udaje mi się tego uruchomić

Pozostało 580 znaków

2011-07-31 18:12
0

Problem jest w tym, że nie masz nigdzie żadnej tablicy. Pobierasz dane z pliku do jakiegoś bliżej nieokreślonego miejsca w pamięci.


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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