• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

przepisywanie tablicy do int. C++

VPS Starter Arubacloud
+1 głos
348 wizyt
pytanie zadane 13 marca 2021 w C i C++ przez ViniVici Początkujący (300 p.)

Witam

język C++

Chciałbym przepisać wartości wpisane w tablicy do wartości float. 

Program działa na dwóch wspólnych kartach. Zrobiony topornie, ale dziala. Teraz go ulepszam np: kasuje duplikowany kod. Sa pozostawione po // pozostalosci starego kodu.

Mój problem dotyczy switch (wybor), case 1- chce tam tablice przypisać do konkretnych deklaracji, aby potem można było je podejrzeć z karty 2. Z góry dziękuje za pomoc.

Ps. Jestem początkujący, ale ambitny :)

karta 1)

#include <iostream>
#include <time.h>
#include <cstdlib>
#include <windows.h>
#include <fstream>
#include <algorithm>
#include <string>
#include <conio.h>
#include "lista.h"


//kolekcja void//
void lista_cala();
//kolekcja void//

using namespace std;


//string opakowanie, data, czas;      //stringi do zapisu wprowadzanych danych w pliku

//float towar[31];
float suma=1, srednia;
//float q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c,v,b,n,m,qq,ww,ee,rr,tt;
//float qqq,www,eee,rrr,ttt,yyy,uuu,iii,ooo,ppp,aaa,sss,ddd,fff,ggg,hhh,jjj,kkk,lll,zzz,xxx,ccc,vvv,bbb,nnn,mmm,qqww,wwee,eerr,rrtt,ttyy;
float wynik, jeden, dwa;
string miesiac, odp, suma_opak, decyzja;
int wybor, dzien, godzina;


int main()
{

    do
    {
    cout << "Program do liczenia sredniej miesiecznej"          << endl;
    cout <<""                                                          << endl;
    cout << "Podaj nazwe miesiaca:"                             << endl;
    cin  >> miesiac;
    cout <<""                                                          << endl;
    if ((miesiac!="styczen")&&(miesiac!="luty")&&(miesiac!="marzec")&&(miesiac!="kwiecien")&&(miesiac!="maj")&&(miesiac!="czerwiec")&&(miesiac!="lipiec")&&(miesiac!="sierpien")&&(miesiac!="wrzesien")&&(miesiac!="pazdziernik")&&(miesiac!="listopad")&&(miesiac!="grudzien"))
    {
        cout <<"Zly miesiac."                                   << endl;
        exit (0);
    }
    cout << "Czy wyswietlic liste wprowadzonych danych?:"             << endl;
    cout << "Tak       Nie"                                       << endl;
    cin  >>decyzja;
    cout << miesiac << endl;
    cout <<""<< endl;

        if ((decyzja=="tak")||(decyzja=="TAK"))
        {
        lista_cala();
        }


    cout <<"Jak chcesz wprowadzac dane:"                                     << endl;
    cout <<""                                                          << endl;
    cout <<""                                                          << endl;
    cout <<"OPAKOWANIA -Kazdy dzien automatycznie pokoleji --> 1"            << endl;
    cout <<""                                                          << endl;
    cout <<""                                                          << endl;
    cout <<"OPAKOWANIA- Mozliwosc wyboru dnia (w tytm poprawki) --> 2"       << endl;
    cout <<""                                                          << endl;
    cout <<""                                                          << endl;
    cout <<"CZAS- Kazdy dzien automatycznie pokoleji --> 3"                  << endl;
    cout <<""                                                          << endl;
    cout <<""                                                          << endl;
    cout <<"CZAS- Mozliwosc wyboru dnia (w tytm poprawki) --> 4"             << endl;
    cin  >>wybor;
    cout <<""                                                          << endl;
    cout <<""                                                          << endl;


                                                    switch (wybor)
    {
        case 1:

            //////////////////////////// TUTAJ ZROBIC NALEZYTE ZMIANY I POPRAWKI DLA DANYCH W TABELI WYSWIETLANYCH I KONCOWYCH WYNIKOW !!!!!!!!!!!!! ////////////////////
                for (int i=0; i<31; i++)
                {
                    cout <<endl<< "Podaj ilosc opakowan dla "<<i+1<< " dnia: ";
                    cin >> towar[i];

                    (   (q=towar[0]),   (w=towar[1]),     (e=towar[2]),     (r=towar[3]),       (t=towar[4]),
                        (y=towar[5]),   (u=towar[6]),     (i=towar[7]),     (o=towar[8]),       (p=towar[9]),
                        (a=towar[10]),  (s=towar[11]),    (d=towar[12]),    (f=towar[13]),      (g=towar[14]),
                        (h=towar[15]),  (j=towar[16]),    (k=towar[17]),    (l=towar[18]),      (z=towar[19]),
                        (x=towar[20]),  (c=towar[21]),    (v=towar[22]),    (b=towar[23]),      (n=towar[24]),
                        (m=towar[25]),  (qq=towar[26]),   (ww=towar[27]),   (ee=towar[28]),     (rr=towar[29]),
                        (tt=towar[30])      );
                    cout << lista_cala;

             //LIMIT KODU 1500//
          

karta 2)

#include <iostream>
#include <time.h>
#include <cstdlib>
#include <windows.h>
#include <fstream>
#include <algorithm>
#include <string>
#include <conio.h>


using namespace std;

float towar[31];
string opakowanie, czas, data;
float q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c,v,b,n,m,qq,ww,ee,rr,tt;
float qqq,www,eee,rrr,ttt,yyy,uuu,iii,ooo,ppp,aaa,sss,ddd,fff,ggg,hhh,jjj,kkk,lll,zzz,xxx,ccc,vvv,bbb,nnn,mmm,qqww,wwee,eerr,rrtt,ttyy;

void lista_cala ()
{
    cout <<""                                                          << endl;
    cout <<""                                                          << endl;
        cout <<"Dane wprowadzone dotyczace opakowan"                                  << endl;
    cout <<""                                                          << endl;
    cout <<""                                                          << endl;
    cout <<" .01. "<<q <<" .02. "<<w <<" .03. "<<e <<" .04. "<<r<<" .05. "<<t<< endl;
    cout <<""                                                          << endl;
    cout <<" .06. "<<y <<" .07. "<<u <<" .08. "<<i <<" .09. "<<o<<" .10. "<<p<< endl;
    cout <<""                                                           << endl;
    cout <<" .11. "<<a <<" .12. "<<s <<" .13. "<<d <<" .14. "<<f<<" .15. "<<g<< endl;
    cout <<""                                                          << endl;
    cout <<" .16. "<<h <<" .17. "<<j <<" .18. "<<k <<" .19. "<<l             << endl;
    cout <<""                                                          << endl;
    cout <<" .20. "<<z <<" .21. "<<x <<" .22. "<<c <<" .23. "<<v             << endl;
    cout <<""                                                          << endl;
    cout <<" .24. "<<b <<" .25. "<<n <<" .26. "<<m <<" .27. "<<qq            << endl;
    cout <<""                                                          << endl;
    cout <<" .28. "<<ww<<" .29. "<<ee<<" .30. "<<rr<<" .31. "<<tt            << endl;
    cout <<""                                                          << endl;
    cout <<""                                                          << endl;
    cout <<""                                                          << endl;
    cout <<""                                                          << endl;
       
}

 

1
komentarz 13 marca 2021 przez j23 Mędrzec (194,920 p.)

Rozumiem, że termin karta oznacza po prostu plik źródłowy, tak?

cout << lista_cala;

Co to, według Ciebie, miałoby robić?

(   (q=towar[0]),   (w=towar[1]),     (e=towar[2]),     (r=towar[3]),       (t=towar[4]),
                        (y=towar[5]),   (u=towar[6]),     (i=towar[7]),     (o=towar[8]),       (p=towar[9]),
                        (a=towar[10]),  (s=towar[11]),    (d=towar[12]),    (f=towar[13]),      (g=towar[14]),
                        (h=towar[15]),  (j=towar[16]),    (k=towar[17]),    (l=towar[18]),      (z=towar[19]),
                        (x=towar[20]),  (c=towar[21]),    (v=towar[22]),    (b=towar[23]),      (n=towar[24]),
                        (m=towar[25]),  (qq=towar[26]),   (ww=towar[27]),   (ee=towar[28]),     (rr=towar[29]),
                        (tt=towar[30])      )

Po co te nawiasy? Generalnie ten od jest jakoś mało czytelny.

 

Tam, gdzie masz main, daj:

float q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c,v,b,n,m,qq,ww,ee,rr,tt;
float qqq,www,eee,rrr,ttt,yyy,uuu,iii,ooo,ppp,aaa,sss,ddd,fff,ggg,hhh,jjj,kkk,lll,zzz,xxx,ccc,vvv,bbb,nnn,mmm,qqww,wwee,eerr,rrtt,ttyy;

a tam, gdzie lista_cala:

extern float q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c,v,b,n,m,qq,ww,ee,rr,tt;
extern float qqq,www,eee,rrr,ttt,yyy,uuu,iii,ooo,ppp,aaa,sss,ddd,fff,ggg,hhh,jjj,kkk,lll,zzz,xxx,ccc,vvv,bbb,nnn,mmm,qqww,wwee,eerr,rrtt,ttyy;

Nazwy zmiennych porażka.

1
komentarz 13 marca 2021 przez wizarddos Nałogowiec (25,130 p.)

@ViniVici, w pierwszym kodzie podmień ifa sprawdzającego miesiące na switch'a. 

komentarz 14 marca 2021 przez ViniVici Początkujący (300 p.)

@j23,

1)

Lista cala to void- poprzez to polecenie ma mi pokazac zapisane, podane w programie ilosci. W "karta 2" jest w/w void.

2)

No wlasnie tu mam problem- poniewaz kombinowalem zapisy, w tym zestawie wychodzi "najlepiej"- ale nie dobrze. Przy bodajze podawaniu 7 dnia- wracamy do 2- sadze ze sumuje mi wartosc i++ jako 1+2+3+4 i tak do 31- potem wraca.

3)

Ok, wczesniejszej wymagalo odemnie podanie "porazkowych" zmiennych float na karcie 2- na pierwszej podawal mi blad. Podmienie, sprawdze.

4)

Moze i porazka, ale przy 31 dniach do podawania dla ilosci opakowan i pomiaru czasowego o blad nie jest trudno. Uwierz mi ten kod na poczatku byl toprny²- teraz jest toporny :) ...i dlatego staram sie go ulepszyc, optymalny i czysty. 

Gdybym tej "topornosci" nie widzial to bym tez i rad nie szukal.

pozdrawiam, dziekuje za rade i krytyke.

komentarz 14 marca 2021 przez ViniVici Początkujący (300 p.)
Szczerze- czemu o tym na start nie pomyslalem?!

Nie dość ze kod będzie lepszy, to na dodatek zabezpieczy od niepoprawnych nazwy.

Dzieki wielkie :)
komentarz 14 marca 2021 przez ViniVici Początkujący (300 p.)
edycja 14 marca 2021 przez ViniVici

Zmieniłem nazwy dla zmiennych i program zadzialal jak chcialem:

Wczesniej nie pokazywalo mi dni- jakby ich nie zapisywalo trwale, teraz pod nazwami day1-31.

komentarz 14 marca 2021 przez ViniVici Początkujący (300 p.)

@j23,

Tak- moja "karta" to (jeszcze) w nie wiedzy plik zrodlowy.

 

Dopytam- extern float i float, czy zapis taki daje mozliwosc dowolnego uzywania zmiennych na kilku plikach zrodlowych? 

2
komentarz 14 marca 2021 przez j23 Mędrzec (194,920 p.)

Tak się definiuje zmienne globalne. Raz definiujesz zmienną w jakimś pliku źródłowym (.c/.cpp), a deklarację (extern) dajesz wszędzie tam, gdzie chcesz odwołać się do tej zmiennej.

komentarz 15 marca 2021 przez ViniVici Początkujący (300 p.)
Czyli mogę w jednym pliku wypisać wszystkie deklaracje, a w kolejnych plikach źródłowych podawać te które potrzebuje z dodatkiem extern. OK, dziękuję za kolejną wiedzę.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
7 odpowiedzi 718 wizyt
pytanie zadane 16 sierpnia 2015 w C i C++ przez vanowikv13 Bywalec (2,740 p.)
+4 głosów
5 odpowiedzi 648 wizyt
0 głosów
3 odpowiedzi 9,166 wizyt
pytanie zadane 23 maja 2015 w Java przez robert9620 Stary wyjadacz (11,620 p.)

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...