This works perfect for me.
Code:
#include <stdio.h>
#include <iostream>
#include <math.h>
using namespace std;
void InputCheck(int *data, int n)
{
while( *data > n)
{
printf("\n. ERROR!!!!\n\nDialekse ton sosto radio station: ");
cin >> *data;
}
}
void InputCheck(float *wmin, int min)
{
while( *wmin >= min)
{
printf("\n\nERROR!!!\n\nTo Wmin prepei na einai pio mikro apo to %d !!!", min);
printf(" Dwse Wmin: ");
cin >> *wmin;
}
}
void InputCheck(float wmin, float *wmax, int max)
{
while ( *wmax < wmin ){
printf("\n\nERROR!!!\n\nTo Wmax prepei na einai megalutero to Wmin !!!");
printf(" Dwse Wmax: ");
cin >> *wmax;
}
while (*wmax <= max ) {
printf("\n\nERROR!!!\n\nTo Wmax prepei na einai megalutero to %max !!!", max);
printf(" Dwse Wmax: ");
cin >> *wmax;
}
}
void check(float pinakas[], int n, int min, int max)
{
float wmin, wmax, dist, r1, r2;
int first,sec;
printf(" Dwse Wmin: ");
scanf("%f", &wmin);
InputCheck(&wmin, min);
printf(" Dwse Wmax: ");
scanf("%f", &wmax);
InputCheck(wmin,&wmax,max);
printf(" Dwse apostasi: ");
scanf("%f", &dist);
// Dialekse 2 radiostathmous
printf("Dialekse ton 1o radio station: ");
scanf("%d", &first);
InputCheck(&first,n);
printf("Dialekse ton 2o radio station: ");
scanf("%d", &sec);
InputCheck(&sec,n);
r1 = sqrt(pinakas[first]/wmin);
r2 = sqrt(pinakas[sec]/wmin);
cout << r1 << " " << r2;
}
main()
{
int n,i,min,max;
float w;
printf(" Posoi einai oi Radiostathmoi? : ");
scanf("%i", &n);
// dunamikos pinakas
float *pinakas = new float [n];
for(i=0; i<n; i++)
{
printf("Dose tin suxnotita tou %d, radiostathmou: ", i+1);
scanf("%f", &pinakas[i]);
}
min = pinakas[0];
max = pinakas[0];
for(i=0; i<n; i++)
{
if(min > pinakas[i])
{
min = pinakas[i];
}
if( max < pinakas[i])
{
max = pinakas[i];
}
}
check(pinakas,n, min,max);
system("PAUSE");
return 0;
}
All I want is to know how to use scanf with pointers. If you take a loot at the source code, I use the cin command. The problem is that I want to save my project as *.c and not as a *.cpp
Thank you