2014-02-19 7 views
0

Я пытаюсь сделать программу, которая будет читать символы со стандартного ввода до тех пор, пока не будет прочитано EOF (знак конца файла).ASCII/печать печать C программа?

И после этой функции у меня есть:

#include <stdio.h> 



int main(int agc, char *agv[]) { 
    int x; 
    int count = 0; 

    while ((x = getchar()) != EOF){ 
    count++; 
+3

Честно говоря, BLUEPIXY, это грубо. Возможно, я не согласен с кем-либо здесь, но я пытаюсь пройти учебную программу вступления в CS без необходимости тратить деньги и кредиты, принимая класс, поэтому мне нужна дополнительная помощь, у меня есть вступительная книга и прохождение через нее лектор - это нечто сложное. Поэтому спасибо за вашу помощь. –

+0

Я бы порекомендовал youtube видео. есть много хороших видеороликов по программированию. обычно вопросы здесь очень специфичны, поэтому ваш пост немного там ... – thang

+0

Повторяя вопрос, удалив без учета комментариев и ответов на вопросы, это грубо. – BLUEPIXY

ответ

0

В ваших main(), линий, отмеченных в декларации функции, а не вызовы функций. Вам, вероятно, придется заменить их на вызовы функций.

int main(int argc, char *argv[]) { 
    int x; 
    int count = 0; 

    while ((x = getchar()) != EOF){ 
     count++; 
    } 
    prHeader(FILE *out); // Declaration 
    prCountStr(FILE *out, int code, char *str, int count); // Declaration 
    prCountChr(FILE *out, int code, char chr, int count); // Declaration 
    prTotal(FILE *out, int count); // Declaration 
    return 0; 
} 

Вы также будете нуждаться, чтобы иметь массив (counters, ради аргумента) 256 целых чисел, все инициализируются нулем, и ваш цикл будет увеличивать запись в counters, соответствующий характеру только для чтения. К счастью, getchar() возвращает положительное значение для каждого возможного входного символа.

В C вы должны редко определять функцию в заголовке; в вашем случае вы не должны определять функции в заголовке. Декларации должны быть там, но определений не должно быть. У вас должен быть еще один исходный файл, предположительно common.c, который определяет функции. Затем вам необходимо скомпилировать как файл, содержащий функцию main(), так и common.c, и для создания программы вам потребуется связать оба объектных файла. (В краткосрочной перспективе вы можете избежать этого, оставив функции в заголовке и просто компилируя код, который определяет функцию main(), но это подрывает точку файла заголовка.) Большинство определений переменных должно быть в common.c а не в common.h тоже.

У вас также есть другая работа; BADFILE и связанные макросы еще не используются. Также кажется, что вам, возможно, потребуется проанализировать параметры командной строки.

Смежные вопросы