PDA

Visualizza la versione completa : [c/c++] - aiuto per scrittura funzione


aquatimer2000
14-04-2017, 13:16
Ciao a tutti, sto dando una mano ad un mio amico per scrivere alcune righe di C/C++

Sono completamente digiuno di C, ma scrivo molto in PHP.

A livello logico il codice postato di seguito funziona, l'unica cosa Ŕ che devo correggere la sintassi della funzioni perchŔ molto probabilmente in C non Ŕ la stessa di PHP

potete darmi una mano o delle indicazioni da seguire ?!

Grazie a tutti per l'aiuto !



//setto lo stato
$stato = 1;

//setto i giri massimi da fare
$giriMacchinaTotali = 25;
$giriMacchinaEffettuati = 1;

//setto la posizione di default
$posizione = "sx";



while ( $stato == 1 && $giriMacchinaEffettuati <= $giriMacchinaTotali ) {

$posizione = muoviMacchina( $posizione, $giriMacchinaEffettuati );

$giriMacchinaEffettuati++;

}



function muoviMacchina ( $posizione, $giriMacchinaEffettuati ) {

$fineCorsa = 0;

if ( $posizione == "sx" ) {

while ( $fineCorsa == 0 ) {

print "$giriMacchinaEffettuati - muovo a dx<br/>";
$fineCorsa = 1;

}

}

if ( $posizione == "dx" ) {

while ( $fineCorsa == 0 ) {

print "$giriMacchinaEffettuati - muovo a sx<br/>";
$fineCorsa = 1;

}

}

if ( $posizione == "sx" ) {

$posizioneCorrente = "dx";

}
else {

$posizioneCorrente = "sx";

}

$posizione = $posizioneCorrente;
return($posizione);

}

torn24
14-04-2017, 18:45
Senza verificare l'esattezza della tua funzione, una traduzione in linguaggio C dovrebbe essere cosi.
Anche se PHP Ŕ c-like, non sempre si pu˛ fare una traduzione uno a uno in linguaggio c ;), esempio molte funzioni in php non sono presenti in C, e il C necessitÓ di una funzione main() Ŕ le variabili sono tipizzate, inoltre gestisce le stringhe in modo diverso da PHP.





#include <stdio.h>


char muoviMacchina ( int posizione, int giriMacchinaEffettuati ); // Prototipo funzione necessario




/* Segue variabili globali */
int stato = 1; //setto lo stato
int giriMacchinaTotali = 25; //setto i giri massimi da fare
int giriMacchinaEffettuati = 1;
char posizione = 's'; //setto la posizione di default variabile CARATTERE char


int main(){


while ( stato == 1 && giriMacchinaEffettuati <= giriMacchinaTotali ) {

posizione = muoviMacchina( posizione, giriMacchinaEffettuati );

giriMacchinaEffettuati++;

}
getchar();

}


char muoviMacchina ( int posizione, int giriMacchinaEffettuati ) {

int fineCorsa = 0;

if ( posizione == 's' ) {

while ( fineCorsa == 0 ) {

printf("%d - muovo a dx\n",giriMacchinaEffettuati);
fineCorsa = 1;

}


}

if ( posizione == 'd' ) {

while ( fineCorsa == 0 ) {
printf("%d - muovo a sx\n",giriMacchinaEffettuati);
fineCorsa = 1;


}

}

if ( $posizione == 's' ) {

posizioneCorrente = 'd';

}
else {

posizioneCorrente = 's';

}

posizione = posizioneCorrente;
return posizione;

}

aquatimer2000
18-04-2017, 11:00
Perfetto intanto grazie mille per l'aiuto !!
Passo questo codice per fare dei test !!
Grazie ancora !

Loading