case format not quite right...


 
Thread Tools Search this Thread
Top Forums Programming case format not quite right...
# 1  
Old 01-29-2005
case format not quite right...

i tried this programme without using case... but can't seem to function it using the case function ..

#include <stdio.h>
#include <stdlib.h>
/*bytes_to_mb.c*/
/* figure out du space by converting bytes to mb using 1000*1000 standard*/
long int mb=1000*1000;
long int number;
char M;
float x,y;
float z;
int main(int argc, char *argv[])
{
{
printf("enter number to convert\n");
scanf("%ld", &number);
}
printf("for 1000*1000 output type M or else type enter\n");
scanf("%c", &M);
switch $*
case M:
x=number;
y=mb;
z=x/y;
printf("%f / %f = %.3fMB\n", x, y ,z);
printf("1000 block output\n");
break;
case :
y == 1024*1024
x=number;
z=x/y;
printf("%f / %f = %.3fMB\n", x, y. z);
printf("1024 block output\n");

fflush(stdin);
getchar();
return (0);
}

this is the errot output:
bytes_to_mb2.c: In function `main':
bytes_to_mb2.c:18: error: syntax error before "$"
bytes_to_mb2.c:26: error: syntax error before ':' token
bytes_to_mb2.c:30: error: request for member `z' in something not a structure or union
bytes_to_mb2.c:30: warning: too few arguments for format
bytes_to_mb2.c:25: error: break statement not within loop or switch


i have tried several different combinations including an if else clause instead of using case but can not seem to get it to work..
very frustrated!!
moxxx68
# 2  
Old 01-29-2005
Moxx,

At the bottom of your post you will find your compilation errors. Please run a google search to see if you can find resolution to the errors. Namely, have a look at switch. Shell and C syntax are not the same, you dont use $ in C as you do in Shell. The second to last printf statement has a typo in it, you use a "." where you should be using a ",". Your format of the switch statment is not correct. Also, be careful about your variable definitions, make sure that they are consistent throughout your program. And, it looks like you intended a loop but forgot the while ( ) statement.

C, like all other languages, has a specific syntax that you must comply with when developing. The compiler will let you know when you have it wrong. The best way to learn to develop software is to first attempt to understand what it is that you've done wrong, then try and fix it yourself. From what you posted, it appears that you would benefit from picking up an Introduction to C book. There are several noted on these boards, have a look for C books.

Last edited by google; 01-29-2005 at 09:31 AM..
# 3  
Old 01-29-2005
just trying to teach myself some basic C.. i have done a little reading in the last year but haven't actually tried any hands on programming so I thought this might be a good time to start.. basically the programm is supposed to make figuring a few numbers in accordance with other scripts and "totals^" a little more convenient since I find these numbers have my head spinning a little sometime.. I am still not quite sure about block sizes and stuff.. this way I can figure it out.
I have a few C reference guide downloads from google.. i know it sounds funny but its kind of like cheating when your'e writing a programm for the first time and have to look at the reference guide so I thought I would ask.. . i shall return to the books and examples though.
thanx moxxx68
# 4  
Old 01-29-2005
Quote:
Originally Posted by moxxx68
i know it sounds funny but its kind of like cheating when your'e writing a programm for the first time and have to look at the reference guide so I thought I would ask..
It's "cheating" to look at a reference guide, but it's ok to ask us... Smilie

I was able to see what you were trying to do so I corrected the code somewhat. It will compile and run anyway...
Code:
#include <stdio.h>
#include <stdlib.h>
/*bytes_to_mb.c*/
/* figure out du space by converting bytes to mb using 1000*1000 standard*/
#define mb1 (1000*1000)
#define mb2 (1024*1024)
int main(int argc, char *argv[])
{
        char buff[80];
        long int number;
        char M;
        float x,y;
        float z;
        setvbuf(stdout, NULL, _IONBF ,0);
        printf("enter number to convert\n");
        fgets(buff,80, stdin);
        sscanf(buff, "%ld", &number);
        printf("for 1000*1000 output type M or else type enter\n");
        M=getchar();

        switch (M) {
                case 'M':
                        x=number;
                        y=mb1;
                        z=x/y;
                        printf("%f / %f = %.3fMB\n", x, y ,z);
                        printf("1000 block output\n");
                        break;
                default:
                        y=mb2;
                        x=number;
                        z=x/y;
                        printf("%f / %f = %.3fMB\n", x, y, z);
                        printf("1024 block output\n");
                        break;
        }

        return (0);
}

# 5  
Old 01-29-2005
Quote:
Originally Posted by moxxx68
j
I have a few C reference guide downloads from google.. i know it sounds funny but its kind of like cheating when your'e writing a programm for the first time and have to look at the reference guide so
I kindly suggest that, in both the short and long run, you will get better results, make more net friends, and get more solid help if you kindly value others time by reading the reference material first and asking questions second.

Keep up the good work!

Neo
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Change first letter of a word from lower case to upper case

Hi all, I am trying to find a way to change first letter in a word from lower case to upper case. It should be done for each first word in text or in paragraph, and also for each word after punctuation like . ; : ! ?I found the following command sed -i 's/\s*./\U&\E/g' $@ filenamebut... (7 Replies)
Discussion started by: georgi58
7 Replies

2. Shell Programming and Scripting

Conversion from Upper Case to Lower Case Condition based

Hello Unix Gurus : It would be really appreciative if can find a solution for this . I have records in a file . I need to Capitalize the records based on condition . For Example i tried the following Command COMMAND --> fgrep "2000YUYU" /export/home/oracle/TST/data.dat | tr '' ''... (12 Replies)
Discussion started by: tsbiju
12 Replies

3. Shell Programming and Scripting

[Solved] Change Upper case to Lower case in C shell

Is there a command that can switch a character variable from UPPER case to lower case? like foreach AC ( ABC BCD PLL QIO) set ac `COMMAND($AC)` ... end Thanks a lot! (3 Replies)
Discussion started by: rockytodd
3 Replies

4. Shell Programming and Scripting

sed ignoring case for search but respecting case for subtitute

Hi I want to make string substitution ignoring case for search but respecting case for subtitute. Ex changing all occurences of "original" in a file to "substitute": original becomes substitute Origninal becomes Substitute ORIGINAL becomes SUBSTITUTE I know this a little special but it's not... (1 Reply)
Discussion started by: kmchen
1 Replies

5. Shell Programming and Scripting

data array needs to change upper case to lower case

Hi all, i have a data array as followes. ARRAY=DFSG345GGG ARRAY=234FDFG090 ARRAY=VDFVGBGHH so on.......... i need all english letters to be change to lower case. So i am expecting to see ARRAY=dfsg345ggg ARRAY=234fdfg090 ARRAY=vdfvgbghh so on........ If i have to copy this data in... (8 Replies)
Discussion started by: usustarr
8 Replies

6. Shell Programming and Scripting

convert upper case to lower case in ascript

I have a package to install and the installation script which does it . The files/directories names in the script are all lower case but the actual package has everything in upper case - file names, directories . I don't want to rename directories and files in the package - it has a lot of them . ... (2 Replies)
Discussion started by: vz6zz8
2 Replies

7. Shell Programming and Scripting

how to convert value in a variable from upper case to lower case

Hi, I have a variable $Ctrcd which contains country names in upper case and i want to convert them into lower case. I have tried so many solutions from already existing threads but couldn't get the correct one. Can anybody help me with this..... Thanks a lot.. (2 Replies)
Discussion started by: manmeet
2 Replies

8. Shell Programming and Scripting

Script needed to select and delete lower case and mixed case records

HELLO ALL, URGENTLY NEEDED A SCRIPT TO SELECT AND DELETE LOWER AND MIXED CASE RECORDS FROM A COLUMN IN A TABLE. FOR EXAMPLE : Table name is EMPLOYEE and the column name is CITY and the CITY column records will be: Newyork washington ... (1 Reply)
Discussion started by: abhilash mn
1 Replies

9. UNIX for Dummies Questions & Answers

lower case to upper case string conversion in shell script

How can convert a Lower case variable value to an upper case in the kron shell script. (3 Replies)
Discussion started by: dchalavadi
3 Replies
Login or Register to Ask a Question