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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2010, 13:45   #1
Drozd Oleg
 
Регистрация: 21.02.2010
Сообщений: 4
По умолчанию Проблемы с выводом

Господа, может кто мне поможет.
Код (глупый конечно код, но как могу):
// Число прописью.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <clocale>
#include <windows.h>
using namespace std;

char v1[4][20];
char var;
int num[3];
// Функции потока
DWORD WINAPI ThreadFunc1(PVOID Parametr)
{
switch(var)
{
case 'Y': strcpy (v1[0],"минус");break;
case 'N': strcpy (v1[0],"");break;
}
return 0;
}

DWORD WINAPI ThreadFunc2(PVOID lpParametr)
{
switch(num[0])
{
case 1: strcpy(v1[1],"сто");break;
case 2: strcpy(v1[1],"двести");break;
case 3: strcpy(v1[1],"триста");break;
case 4: strcpy(v1[1],"четыреста");break;
case 5: strcpy(v1[1],"пятьсот");break;
case 6: strcpy(v1[1],"шестьсот");break;
case 7: strcpy(v1[1],"семьсот");break;
case 8: strcpy(v1[1],"восемьсот");break;
case 9: strcpy(v1[1],"девятьсот");break;
}
if( num[1] == 0 || num[1] > 1 )
{
if( num[1] > 1 )
{
switch( num[1] )
{
case 2: strcpy(v1[2],"двадцать");break;
case 3: strcpy(v1[2],"тридцать");break;
case 4: strcpy(v1[2],"сорок");break;
case 5: strcpy(v1[2],"пятьдесят");break;
case 6: strcpy(v1[2],"шестьдесят");break;
case 7: strcpy(v1[2],"семьдесят");break;
case 8: strcpy(v1[2],"восемдесят");break;
case 9: strcpy(v1[2],"девяносто");break;
}
}
switch( num[2] )
{
case 1: strcpy(v1[3],"один");break;
case 2: strcpy(v1[3],"два");break;
case 3: strcpy(v1[3],"три");break;
case 4: strcpy(v1[3],"четыре");break;
case 5: strcpy(v1[3],"пять");break;
case 6: strcpy(v1[3],"шесть");break;
case 7: strcpy(v1[3],"семь");break;
case 8: strcpy(v1[3],"восемь");break;
case 9: strcpy(v1[3],"девять");break;
}
}
else if( num[1] == 1 )
{
switch( num[2] )
{
case 0: strcpy(v1[2],"десять");strcpy(v1[3],"");break;
case 1: strcpy(v1[2],"одиннадцать");strcpy(v1[3],"");break;
case 2: strcpy(v1[2],"двенадцать");strcpy(v1[3],"");break;
case 3: strcpy(v1[2],"тринадцать");strcpy(v1[3],"");break;
case 4: strcpy(v1[2],"четырнадцать");strcpy(v1[3],"");break;
case 5: strcpy(v1[2],"пятнадцать");strcpy(v1[3],"");break;
case 6: strcpy(v1[2],"шестнадцать");strcpy(v1[3],"");break;
case 7: strcpy(v1[2],"семнадцать");strcpy(v1[3],"");break;
case 8: strcpy(v1[2],"восемнадцать");strcpy(v1[3],"");break;
case 9: strcpy(v1[2],"девятнадцать");strcpy(v1[3],"");break;
}
}
return 0;
}


int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_CTYPE,"Russian");
DWORD dwThreadId1,dwThreadId2;
HANDLE hThread1,hThread2;
cout <<"Ваше число отрицательное?: Y/N \n";
cin >> var;
cout <<"Введите число в формате NNN:\n";
for(int i=0;i<3;i++)
{
cin >> num[i];
}
// Код вызова функции для создания потока
// Создание потока в приостановленном состоянии
hThread1 = CreateThread(
NULL, // атрибуты безопасности по умолчанию
0, // размер стека используется по умолчанию
ThreadFunc1, // функция потока
&var, // аргумент функции потока
CREATE_SUSPENDED, // флажки создания используются по умолчанию
&dwThreadId1); // возвращает идентификатор потока
hThread2 = CreateThread(
NULL, // атрибуты безопасности по умолчанию
0, // размер стека используется по умолчанию
ThreadFunc2, // функция потока
&num, // аргумент функции потока
CREATE_SUSPENDED, // флажки создания используются по умолчанию
&dwThreadId2); // возвращает идентификатор потока
// Выполнение потока
ResumeThread (hThread1);
ResumeThread (hThread2);
// При успешном завершении проверяет возвращаемое значение.
if (hThread1 == NULL && hThread2 == NULL)
{
cout <<"Потоки созданы не были\n";
}
else
{
cout <<"Потоки успешно созданы\n";
CloseHandle( hThread1 );
CloseHandle( hThread2 );
}
cout <<"Введенное число прописью:\n";
for(int i=0;i<4;i++)
{
cout <<v1<<" ";
}
getch ();
return 0;
}

В Visual Studio 2008 при компиляции (проходит без ошибок) и запуске программы получаю вот такую красоту (см. скриншот). Что ей не нравится и как это исправить?

Последний раз редактировалось Drozd Oleg; 21.02.2010 в 14:33.
Drozd Oleg вне форума Ответить с цитированием
Старый 21.02.2010, 22:12   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

your screenshot consist of zero pixels xD
NiCola999 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с выводом на экран NeveX Общие вопросы .NET 3 20.12.2009 13:57
Помогите с выводом строки MaxMelnikov Паскаль, Turbo Pascal, PascalABC.NET 1 15.12.2008 14:42
Проблема с выводом текста limon PHP 6 30.11.2008 20:03
Помощь с выводом в файл FatalX Помощь студентам 1 14.07.2008 19:23
Проблемка с выводом Gladiator Общие вопросы Delphi 2 28.05.2008 19:51