Il linguaggio è c++ (andavo un po' di fretta mi so ndimenticato)

Comunque ecco a voi il codice intero:
codice:
#include <cstdlib>
#include <iostream>
#include <string.h>

using namespace std;

int main()
{
string dare[100], avere[100];
float valoreDARE[1000], valoreAVERE[1000];
char risp;
int i = 0, p = 0;


do {
   do {
       printf("Inserisci il conto in dare: ");
       scanf("%s", &dare[i]);
       printf("Inserisci il valore del conto: ");
       scanf("%f", &valoreDARE[i]);
       printf("Inserisci il conto in avere: ");
       scanf("%s", &avere[i]);
       printf("Inserisci il valore del conto: ");
       scanf("%f", &valoreAVERE[i]);
       if(valoreDARE[i] != valoreAVERE[i]) {
                 printf("ERRORE! I valori DARE e AVERE non combaciano!\n");
                 getchar();
                 }
       }
while(valoreDARE[i] != valoreAVERE[i]);


printf("Vuoi inserire un altro articolo in P.D.? s/n");
scanf("%s", &risp);
getchar();
i++;
}
while(risp != 'n');

for(p=0;p<i;p++) {
                 printf("%s | %.2f     |\n", dare[p].c_str(), valoreDARE[p]);
                 printf("%s |          | %.2f\n", avere[p].c_str(), valoreAVERE[p]);
                 printf("-----------------------------------------------\n");
                 }
getchar();getchar();
}
Grazie per la rapidità delle risposte!