[C++] Programma da c a c++

docmpg
Scusate potete trasformare questo programma fatto in c in un programma c++?
Il c non lo conosco proprio.
Grazie a tutti.
https://www.dropbox.com/s/8n3dle5a44994 ... a.gif?dl=0

Risposte
marco2132k
Forse quella cosa è digerita anche da un compilatore C++.

In ogni caso credo che alcune cose andrebbero comunque cambiate, per rendere il codice più conforme alla mentalità di C++ (l'uso di [tt]#define[/tt], gli indici dichiarati come [tt]int[/tt] piuttosto che come [tt]std::size_t[/tt], i due include all'inizio, che terminano in .h, quando gli header standard di C++ non dovrebbero [perché mi pare di ricordare che i "senza .h" avessero le definizioni all'interno di un namespace, cosa assente di fatto in C classico], l'uso dei puntatori [i vettori classici] al posto di [tt]std::vector[/tt] [è anche vero che non tutti accettano i vettori di STL per motivi didattici], ecc..)

Però [tt]printf[/tt] e [tt]scanf[/tt] esistono anche in C++. Però [tt]std::cout[/tt] è più carino da usare con i tipi di [tt]STL[/tt].

vict85
Come detto da marco2132k quel codice è scritto usando un sottoinsieme comune a C e C++ e quindi è sostanzialmente scritto in C++.

Penso che l'unica cosa che potrebbe confonderti sia l'I/O del C, ma per tradurli usando iostream ti basta usare cout e cin invece di printf e scanf. Se cerchi printf e scanf su cppreference o su siti simili dovresti riuscire a capire che fanno e se conosci il C++ dovresti riuscire a riscriverli.

@marco2132k: Nel C++ puoi inserire le librerie standard del C sia come nel C che aggiungendo un c all'inizio e togliendo il .h . In alcuni casi, usare l'uno o l'altro può influire sul programma per via del fatto che il C++ possiede l'overloading delle funzioni e i namespace. Il fatto che le librerie standard del C++ non abbiano il .h è una scelta completamente stilistica.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.