Ask your own question, for FREE!
Computer Science 15 Online
OpenStudy (anonymous):

What's wrong with this?

OpenStudy (anonymous):

OpenStudy (anonymous):

SALARIO is an array but doesn't have any values so how can anything be printed from it . What is this C?

OpenStudy (anonymous):

but apart from the values? is it all ok? i think it's C++ my professor told me to run it in Dev C++

OpenStudy (anonymous):

well can float be an array?

OpenStudy (anonymous):

FLOAT[] SALARIO = null;

OpenStudy (anonymous):

thats in java

OpenStudy (anonymous):

not sure about FLOAT though

OpenStudy (anonymous):

well, if you're no sure, i dont know what i'm going to do :P

OpenStudy (anonymous):

do you know what an API is?

OpenStudy (anonymous):

google C++ API array float

OpenStudy (anonymous):

RTFD

OpenStudy (anonymous):

yes, i do :)

OpenStudy (anonymous):

great then look up the stuff I said you need to make an array with values....see what datatypes you can use FLOAT is a data type

OpenStudy (anonymous):

allot of languages are using strong data typing like this.....var testVar0:String ="testVariable"; thats AS 3.0

OpenStudy (anonymous):

yeah, but i'll look it up and try again. Thank you :))

OpenStudy (anonymous):

you have a structural issue more than a API issue.....seperate variable .....methods .....functions in your head. create variable>>>>method does something to the variable>>>>>method ouputs variable and the new variable is stored either in the same variable or a newVariable Then there are events that can call functions from within other functions....not in C++ though that I'm aware.

OpenStudy (asnaseer):

what you have is either a C or C++ program

OpenStudy (asnaseer):

when you say whats wrong with this - what do you mean exactly?

OpenStudy (anonymous):

FFS C and C++ are the same language its just C++ has a whole bunch of prebuilt methods made for it. Its a higher level language generation 3 I think.

OpenStudy (asnaseer):

correct - which is why it could be either

OpenStudy (anonymous):

ok

OpenStudy (asnaseer):

nickymarden: what is it that is making you say there is something wrong with it?

OpenStudy (anonymous):

you don't see the problem?

OpenStudy (anonymous):

I don't see the problem

OpenStudy (anonymous):

I suppose this line populates salario array scanf("%f",&salario[i]);

OpenStudy (anonymous):

I don't know C mush though

OpenStudy (anonymous):

I guess there is no problem and they don't know how to compile

OpenStudy (anonymous):

oh well have fun you guys I'll be back later too many cooks in the kitchen

OpenStudy (anonymous):

i don't see a problem, but it isn't running, so i assumed there was one :)

OpenStudy (anonymous):

What isn't wrong with it may be a better question.. I've patched it up into a running state, but I'll let you diff and figure out what changed.. :) #include <stdio.h> int main(void){ float salario[50]; for(int i=0; i<50; i++){ printf("DIGITE O SALARIO\n"); scanf("%f",&salario[i]); } float aumento = 0; printf("QUAL FOI O AUMENTO?\n"); scanf("%f", &aumento); for(int i=0; i<50; i++){ printf("O SALARIO ANTES ERA %f\n", salario[i]); salario[i]=salario[i] + salario[i]*(aumento/100); printf ("O SALARIO AGORA E %f\n", salario[i]); } return(0); }

OpenStudy (anonymous):

Yep, there's problems. On the first for loop, for(int i=0; i<50; l++), you used an L instead of 'i' for some reason. Replace it with for(int i=0; i<50; i++). Secondly, on scanf("%", %aumento), you have two things wrong. 1, the first parameter must include a character format. Since you want to read a float, use %f. Second, the second parameter is an address to the float it is read into. The address of operator is &. So, &aumento. So it's scanf("%f", &aumento); This is most likely C++. It is possibly C99.

OpenStudy (anonymous):

Thaaank you :)) Helped a lot, it's running now :P and yeah, i asked my professor and it's C++ after all :)

OpenStudy (anonymous):

well ur prof wrong its c, 1. printf,scanf is used in c, in c++ we use cout and cin 2. its better to declare ur variable outside a loop, u declared 'i' twice in ur code 3. in ur first for loop use for(i=0; i<50; 1++), that should be for(i=0;i<50; i++) 4. and use a system("pause"); before the return 0 function, its good practice. it will pause the program and wait for user input

OpenStudy (anonymous):

yeah, i got it to run, thank you :))

OpenStudy (anonymous):

@kevissen - 1. Just because it uses printf does not mean it's C. 2. You should not declare a variable used only for looping outside of the for loop 3. I pointed that out, but I agree. 4. This is easily the most offending thing and I am wondering how well you know C or C++. system("pause") is a HORRIBLE practice, and isn't in the C/C++ spec. If you want to wait for user input, just insert a scanf or cin.

Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!
Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!