Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Visual C++] TargetFrameworkVersion or PlatformToolset may be set to an invalid version number

Ostatnio zmodyfikowano 2013-11-23 18:12
Autor Wiadomość
lewica2
Temat założony przez niniejszego użytkownika
[Visual C++] TargetFrameworkVersion or PlatformToolset may be set to an invalid version number
» 2013-11-23 17:30:38
Cześć,
ten program:

C/C++
/*
89. Napisz program rysowania znakiem ASCII poniższej figury. Program powinien umożliwić:
-Wybór znaku ASCII
-Wczytanie początkowych rozmiarów figury
-Zmianę wielkości figury klawiszami '+' i '-'
-Ograniczenie przesuwania i rozmiarów figury do obszaru ekranu;


*/
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include "konsola_1.cpp"

using namespace std;
/*-------------------------------------------------------------------*/

const int Esq = 27;
int kod_znaku;
int wielkosc;

void polskie_litery()
{
    locale locpl( "Polish_Poland" ); //tworzy obiekt z lokalizacja
    locale::global( locpl ); //lokalizacja globalnie
    cout.imbue( locpl ); // lokalizacja strumienia cout
    cin.imbue( locpl ); // lokalizacja strumienia cin
}

void ekran_powitalny()
{
    cout << "89. Napisz program rysowania znakiem ASCII poniższej figury." << endl << "Program powinien umożliwić :" << endl
    << "- Wybór znaku ASCII" << endl
    << "- Wczytanie początkowych rozmiarów figury" << endl
    << "- Zmianę wielkości figury klawiszami '+' i '-'" << endl
    << "- Ograniczenie przesuwania i rozmiarów figury do obszaru ekranu;" << endl;
    int x, y, x1, y1;
   
    x = 38; y = 17;
    x1 = x;
    y1 = y;
    gotoxy( x1, y1 );
    cout << "*";
   
    //Rysowanie drugiej części figury
    x1 = x;
    y1 = y;
    gotoxy( x1, y1 );
    for( int i = 0; i < 4; i++ )
    {
        y1--;
        gotoxy( x1, y1 );
        cout << "*";
    }
   
    //Rysowanie drugiej części figury
    x1 = x;
    y1 = y;
    gotoxy( x1, y1 );
    for( int i = 0; i < 4; i++ )
    {
        x1 = x1 - 2;
        gotoxy( x1, y1 );
        cout << "*";
    }
   
    //Rysowanie drugiej części figury
   
    for( int i = 0; i < 4; i++ )
    {
        y1--;
        gotoxy( x1, y1 );
        cout << "*";
    }
   
    for( int i = 0; i <( 4 / 2 ); i++ )
    {
        y1--;
        x1 = x1 + 2;
        gotoxy( x1, y1 );
        cout << "*";
    }
   
   
    for( int i = 0; i <( 4 / 2 ); i++ )
    {
        y1++;
        x1 = x1 + 2;
        gotoxy( x1, y1 );
        cout << "*";
    }
   
    gotoxy( 0, 22 );
   
    system( "pause" );
    getch();
}

void dane() //Wyświetla komunikaty początkowe
{
    do {
        system( "cls" );
        cout << "Witaj drogi użytkowniku" << endl << "Wprowadź kod znaku którym zechciałbyś rysować" << endl << "Kod ASCII znaku: ";
        cin >> kod_znaku;
    } while( kod_znaku < 33 || kod_znaku > 126 );
   
    do {
        wielkosc = 0;
        system( "cls" );
        cout << "Teraz podaj wielkość figury" << endl;
        cin >> wielkosc;
    } while( wielkosc > 10 || wielkosc < 0 );
   
}

void skalowanie()
{
   
}

void rysowanie()
{
    char znak = kod_znaku;
    char klawisz;
    int x, y, x1, y1;
   
    x = 38; y = 10;
    x1 = x;
    y1 = y;
   
    HideCursor();
    do
    {
        system( "cls" );
        gotoxy( 0, 23 );
        cout << "Użyj klawiszy strzałek, aby przesunąć figurę." << endl << "Użyj klawiszy '+' '-' aby powiększyć i zmniejszyć figurę. ESC aby wyjść.";
       
        // Rysowanie pierwszej części figury
        x1 = x;
        y1 = y;
        gotoxy( x1, y1 );
        cout << "*";
        //Rysowanie krawędzi prawej
        x1 = x;
        y1 = y;
        gotoxy( x1, y1 );
        for( int i = 0; i < wielkosc; i++ )
        {
            y1--;
            gotoxy( x1, y1 );
            cout << "*";
        }
       
        //Rysowanie podstawy
        x1 = x;
        y1 = y;
        gotoxy( x1, y1 );
        for( int i = 0; i < wielkosc; i++ )
        {
            x1 = x1 - 2;
            gotoxy( x1, y1 );
            cout << "*";
        }
       
        //Rysowanie krawędzi lewej
       
        for( int i = 0; i < wielkosc; i++ )
        {
            y1--;
            gotoxy( x1, y1 );
            cout << "*";
        }
       
        //Rysowanie lewej części dachu
       
        for( int i = 0; i <( wielkosc / 2 ); i++ )
        {
            y1--;
            x1 = x1 + 2;
            gotoxy( x1, y1 );
            cout << "*";
        }
       
        //Rysowanie prawej częsci dachu
       
        for( int i = 0; i <( wielkosc / 2 ); i++ )
        {
            y1++;
            x1 = x1 + 2;
            gotoxy( x1, y1 );
            cout << "*";
        }
       
        skalowanie();
       
        klawisz = getch();
        switch( klawisz )
        {
        case '+': // powiekszenie
            {
                if( y - wielkosc <= 0 || x + 2 * wielkosc >= 78 || x - 2 * wielkosc <= 1 || y + wielkosc > 21 )
                     break;
                else
                { wielkosc = wielkosc + 2; break; }
            }
        case '-': // zmniejszanie
            {
                if( wielkosc <= 3 )
                     break;
                else {
                    wielkosc = wielkosc - 2;
                    break;
                }
            }
        case 75: // przesuniecie w lewo
            {
                if( x - 2 * wielkosc <= 0 )
                     break;
                else {
                    x--;
                    break;
                }
            }
        case 77: // przesuniecie w prawo
            if( x > 78 )
                 break;
            else {
                x++;
                break;
            }
        case 72: // przesuniecie do gory
            if( y - wielkosc - wielkosc / 2 <= 0 )
                 break;
            else {
                y--;
                break;
            }
        case 80: // przesuniecie do dolu
            {
                if( y > 21 )
                     break;
                else {
                    y++;
                    break;
                }
            }
        case Esq: { break; } // wyjscie 
        }
       
    } while( klawisz != Esq );
   
}

int main()
{
    polskie_litery();
    ekran_powitalny();
    dane();
    rysowanie();
   
    getch();
    return 0;
}
//---------------------------------------------------------------------------
Działał pod Visualem 2010 ale pod 2013 nie działa. Podobnie mam z innymi programami. Jaka może być przyczyna?
P-97177
kubek3898
» 2013-11-23 17:32:15
Log z konsoli? I popraw formatowanie :D (źle zamknięty znacznik [cpp])
P-97178
lewica2
Temat założony przez niniejszego użytkownika
» 2013-11-23 17:44:19
Wyrzuca TYLKO coś takiego...


1>------ Build started: Project: Prostokat, Configuration: Debug Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(355,5): warning MSB8003: Could not find WindowsSDKDir variable from the registry.  TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.
1>  stdafx.cpp
1>c:\users\jake\desktop\program c++\targetver.h(8): fatal error C1083: Cannot open include file: 'SDKDDKVer.h': No such file or directory
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Robiłem to na innym kompie i tam JAKOŚ działało...próbowałem odpalić w V2013 oraz V2010 kopiowałem kod programu i tu i tu i nic nie działa. Czy jets w ogóle jakaś różnica między używaniem  2010 czy 2013?
P-97183
DejaVu
» 2013-11-23 18:12:05
Generuj plik stdafx.h za pomocą Visuala, którym kompilujesz projekt. Taki temat już był na forum. Błędy sugerują również, że plik z projektem również powinieneś wygenerować za pomocą nowego Visuala i później dopiero przekopiować do niego pliki ze źródłami.

http://cpp0x.pl/forum/temat/​?id=12592
P-97184
« 1 »
  Strona 1 z 1