Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2008, 00:59   #1
Exclucive
Новичок
Джуниор
 
Регистрация: 17.05.2008
Сообщений: 1
По умолчанию вывод из файла!!!

Тема «Разработка консольного приложения «Гороскоп».
Исходные данные:
Программа запрашивает дату рождения пользователя. Определяется знак зодиака (по месяцу рождения), а также символ года по японскому календарю (например, «Красный дракон»). В зависимости от выпавшего цвета и текущего времени года, выдать некоторое предсказание из базы данных. База данных находится в файле и содержит 20 строк (5 цветов *4 сезона).

Сделал всё кроме вывода предсказания из базы данных.... Помогите плиз.

Код:
#include<stdio.h>
#include<iostream.h>
#include<windows.h>
#include<math.h>
void main(){
    int ch,mon,ye,zz;
    char z[]="Введите свою дату рождения в формате число месяц год (Пример: 6 8 1989):  \n";
    CharToOem(z,z);
    char q[]="Предсказание";
    CharToOem(q,q);
    char e[]="Ваш знак зодиака Овен\n";
    CharToOem(e,e);
    char r[]="Ваш знак зодиака Телец\n";
    CharToOem(r,r);
    char t[]="Ваш знак зодиака Близнец\n";
    CharToOem(t,t);
    char y[]="Ваш знак зодиака Рак\n";
    CharToOem(y,y);
    char u[]="Ваш знак зодиака Лев\n";
    CharToOem(u,u);
    char i[]="Ваш знак зодиака Дева\n";
    CharToOem(i,i);
    char o[]="Ваш знак зодиака Весы\n";
    CharToOem(o,o);
    char p[]="Ваш знак зодиака Скорпион\n";
    CharToOem(p,p);
    char a[]="Ваш знак зодиака Стрелец\n";
    CharToOem(a,a);
    char s[]="Ваш знак зодиака Козерог\n";
    CharToOem(s,s);
    char d[]="Ваш знак зодиака Водолей\n";
    CharToOem(d,d);
    char f[]="Ваш знак зодиака Рыбы\n";
    CharToOem(f,f);
    char mih[]="Мышь\n";
    CharToOem(mih,mih);
    char kor[]="Корова\n";
    CharToOem(kor,kor);
    char tig[]="Тигр\n";
    CharToOem(tig,tig);
    char zaj[]="Заяц\n";
    CharToOem(zaj,zaj);
    char dr[]="Дракон\n";
    CharToOem(dr,dr);
    char zm[]="Змея\n";
    CharToOem(zm,zm);
    char loh[]="Лошадь\n";
    CharToOem(loh,loh);
    char ovc[]="Овца\n";
    CharToOem(ovc,ovc);
    char obe[]="Обезьяна\n";
    CharToOem(obe,obe);
    char pet[]="Петух\n";
    CharToOem(pet,pet);
    char sob[]="Собака\n";
    CharToOem(sob,sob);
    char svin[]="Свинья\n";
    CharToOem(svin,svin);
    char zima[]="Вы родились зимой\n";
    CharToOem(zima,zima);
    char vesna[]="Вы родились весной\n";
    CharToOem(vesna,vesna);
    char leto[]="Вы родились летом\n";
    CharToOem(leto,leto);
    char osen[]="Вы родилиьс осенью\n";
    CharToOem(osen,osen);
    char zel[]="Зелёный\n";
    CharToOem(zel,zel);
    char kr[]="Красный\n";
    CharToOem(kr,kr);
    char zh[]="Жёлтый\n";
    CharToOem(zh,zh);
    char bel[]="Белый\n";
    CharToOem(bel,bel);
    char chr[]="Чёрный\n";
    CharToOem(chr,chr);
    char god[]="Вы не могли родиться в этом году!!!\n";
    CharToOem(god,god);
    printf(z,"\n");
    scanf("%d%d%d",&ch,&mon,&ye);
    /*Определение знака зодиака*/

    if ((mon==3&&ch>=21&&ch<=31)||(mon==4&&ch>=1&&ch<=20)) cout<< e;else    
    if ((mon==4&&ch>=21&&ch<=30)||(mon==5&&ch>=1&&ch<=20)) cout<< r;else
    if ((mon==5&&ch>=21&&ch<=31)||(mon==6&&ch>=1&&ch<=21)) cout<< t;else
    if ((mon==6&&ch>=22&&ch<=30)||(mon==7&&ch>=1&&ch<=22)) cout<< y;else
    if ((mon==7&&ch>=23&&ch<=31)||(mon==8&&ch>=1&&ch<=23)) cout<< u;else
    if ((mon==8&&ch>=24&&ch<=31)||(mon==9&&ch>=1&&ch<=23)) cout<< i;else
    if ((mon==9&&ch>=24&&ch<=30)||(mon==10&&ch>=1&&ch<=23)) cout<< o;else
    if ((mon==10&&ch>=24&&ch<=31)||(mon==11&&ch>=1&&ch<=22)) cout<< p;else
    if ((mon==11&&ch>=23&&ch<=30)||(mon==12&&ch>=1&&ch<=21)) cout<< a;else
    if ((mon==12&&ch>=22&&ch<=31)||(mon==1&&ch>=1&&ch<=20)) cout<< s;else
    if ((mon==1&&ch>=21&&ch<=31)||(mon==2&&ch>=1&&ch<=20)) cout<< d;else
    if ((mon==2&&ch>=21&&ch<=28)||(mon==3&&ch>=1&&ch<=20)) cout<< f;else
        printf("ERROR\n");
    /*Определение поры года*/  
    
    if(mon==12||mon==1||mon==2) cout<< zima;else
        if(mon==3||mon==4||mon==5) cout<< vesna;else
            if(mon==6||mon==7||mon==8) cout<<leto;else
                if(mon==9||mon==10||mon==11) cout<<osen;else
                    cout<<"ERROR\n";
     /*Определение цвета по японскомк календарю*/

  if(ye<1924||ye>2032) cout<<god; else
    if (ye-1924<=11||ye-1984<=11) cout<<zel; else
        if (ye-1936<=11||ye-1996<=11) cout<<kr; else
            if (ye-1948<=11||ye-2008<=11) cout<<zh; else
                if (ye-1960<=11||ye-2020<=11) cout<<bel; else
                    if(ye-1972<=11||ye-2032<=11) cout<< chr;else;
  
        /*Определение животного по японскому календарю*/
    zz=ye%12;
    if(zz==0) {cout<<obe;};
    if(zz==1) {cout<<pet;};
    if(zz==2) {cout<<sob;};
    if(zz==3) {cout<<svin;};
    if(zz==4) {cout<<mih;};
    if(zz==5) {cout<<kor;};
    if(zz==6) {cout<<tig;};
    if(zz==7) {cout<<zaj;};
    if(zz==8) {cout<<dr;};
    if(zz==9) {cout<<zm;};
    if(zz==10) {cout<<loh;};
    if(zz==11) {cout<<ovc;};
}
moderator: Используйте тег <CODE>

Последний раз редактировалось merax; 17.05.2008 в 11:35.
Exclucive вне форума Ответить с цитированием
Старый 24.05.2008, 14:12   #2
AD286
Пользователь
 
Аватар для AD286
 
Регистрация: 24.05.2008
Сообщений: 15
Восклицание

Во-первых тебе нужно создать базу данных(d_base), где будут храниться все значения. Затем примерно такой код: if (strstr(d_base[i].name, name))
где nam-это то, что нужно вывести. код не правильный, но похожий(просто в падло думать). как придумаю-напишу). короче принцип такой-тебе нужно занести все значерия в базу данных под различными переменными. Затем когда нужно будет просто выводишь как обычно, но с учетом нужных переменных. код вывода ifstream имя потока("имя файла базы данных с расширением", ios::in);
AD286 вне форума Ответить с цитированием
Старый 24.05.2008, 20:42   #3
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Вот это
Код:
if(zz==0) {cout<<obe;};
    if(zz==1) {cout<<pet;};
    if(zz==2) {cout<<sob;};
    if(zz==3) {cout<<svin;};
    if(zz==4) {cout<<mih;};
    if(zz==5) {cout<<kor;};
    if(zz==6) {cout<<tig;};
    if(zz==7) {cout<<zaj;};
    if(zz==8) {cout<<dr;};
    if(zz==9) {cout<<zm;};
    if(zz==10) {cout<<loh;};
    if(zz==11) {cout<<ovc;};
легко заменяется оператором case. И выглядит поприличней.
MaTBeu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод атрибутов файла в NTFS un07 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 27.02.2008 19:47
вывод файла на экран! Шушелла Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 29.10.2007 09:34
Вывод части текста из файла CoDeR Общие вопросы Delphi 10 16.08.2007 14:30
Вывод информации в Memo из файла. Фибер Оптик Общие вопросы Delphi 11 04.05.2007 00:13
Вывод данных BMP файла на форму Vasya Фриланс 18 24.03.2007 00:59